我知道熊貓數據框是可變的。我將一個數據框傳遞給一個函數,我不希望更改原始數據框,但確實如此。我想只要我重新分配數據框變量并避免使用 .drop(inplace=True) 和 .reset_index(inplace=True) 就可以了,但事實并非如此。.dropna() 和 .reset_index() 有什么解決方法可以避免我的原始數據框發生突變?謝謝你。def makeChoice(): return bool(random.getrandbits(1))def makeChange(row,choice): if choice==True: result = row['b'] else: result = np.nan return result workingDF['b']= workingDF.apply(lambda row: makeChange(row, makeChoice()), axis=1)workingDF = workingDF.dropna()workingDF = workingDF.reset_index(drop=True)return workingDF a = pd.DataFrame({'a':[1,2], 'b':[3,4]})print('a - original:')print(a)b = testFunc3(a)print('b after testFunc3():')print(b)print('a after testFunc3():')print(a)這給出了以下輸出:a - original: a b0 1 31 2 4b after testFunc3(): a b0 1 3.0a after testFunc3(): a b0 1 3.01 2 NaN
添加回答
舉報
0/150
提交
取消