慕的地6264312
2022-11-01 14:48:05
所以這是交易,我有這個(gè)數(shù)據(jù)框,讓我們將其命名為 lovely_df: foo? fah? boo? Nice Numbers0 foo fah boo 101 meh fah boo 202 meh fah boo 303 foo fah boo 404 meh fah boo 50試圖這樣做:lovely_df.loc[lovely_df['foo?'] == 'meh',:]['Nice Numbers'].add(1)它返回給我: Nice Numbers1 212 314 51如果將其保存到 lovely_df 中就可以了,但它沒有,所以我嘗試了:lovely_df.loc[lovely_df['foo?'] == 'meh',:]['Nice Numbers'] = lovely_df.loc[lovely_df['foo?'] == 'meh',:]['Nice Numbers'].add(1)它確實(shí)有效,但它給了我:<input>:1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.Try using .loc[row_indexer,col_indexer] = value instead所以就是這樣,我只是想在幾行的單列中添加一個(gè)特定的數(shù)字,而不會(huì)讓 Python 對(duì)我哭泣。多謝你們!
1 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以numpy.where根據(jù)自己的情況使用
lovely_df['new_col'] = np.where(lovely_df['foo?'] == 'meh',
lovely_df['Nice Numbers'].add(1),
lovely_df['Nice Numbers'])
print(lovely_df)
foo? fah? boo? Nice Numbers new_col
0 foo fah boo 10 10
1 meh fah boo 20 21
2 meh fah boo 30 31
3 foo fah boo 40 40
4 meh fah boo 50 51
添加回答
舉報(bào)
0/150
提交
取消