這是我輸入的代碼:df = pd.DataFrame({'A': [1.6,1.2,3.9,4.5, np.nan]}) df['A'] = df['A'].fillna(-1).astype(int) for i in df['A']: df["B"] = i df 但我得到的結(jié)果是這樣的:那么為什么 B 列會全部顯示為 -1 而不是與 A 列相同?
3 回答

桃花長相依
TA貢獻(xiàn)1860條經(jīng)驗 獲得超8個贊
您將整個列設(shè)置為i
with df["B"] = i
。在您的最后一次迭代中,i
is -1
,因此您的整個列B
都設(shè)置為-1
。
如果你想設(shè)置B
為A
,你可以使用這個(不需要 for 循環(huán)):
df['B'] = df['A']

三國紛爭
TA貢獻(xiàn)1804條經(jīng)驗 獲得超7個贊
在您的 for 循環(huán)中,您df["B"]
每次都重新分配整個值。df['A']
( np.nan
) 中的最后一個值轉(zhuǎn)換為 int 時是-1
. 由于您是df["B"]
整體設(shè)置,因此所有值都分配為-1
.

MM們
TA貢獻(xiàn)1886條經(jīng)驗 獲得超2個贊
改變
for i in df['A']:
df["B"] = i
到
for i, item in df['A'].items():
df.ix[i, "B"] = item
添加回答
舉報
0/150
提交
取消