我正在嘗試通過乘以 10 來修改某些單元格的值。它不起作用。這是一個簡單的代碼示例:非常感謝您的幫助
a={'name':['john','eric','kate'],'buy':[100,50,200],'sell':[20,30,40]}
df=pd.DataFrame(a)
df
name buy sell
0 john 100 20
1 eric 50 30
2 kate 200 40
df[df['name']=='eric'].iloc[:,2:]=df[df['name']=='eric'].iloc[:,2:]*10
df
name buy sell
0 john 100 20
1 eric 50 30
2 kate 200 40
但是如果我通過修改所有行值來做到這一點,那就沒問題了,那么使用行過濾時上面的代碼有什么問題?非常感謝你的幫助
df.iloc[:,2:]=df.iloc[:,2:]*10
df
name buy sell
0 john 100 200
1 eric 50 300
2 kate 200 400
uj5u.com熱心網友回復:
我們試試吧
df.loc[df['name']=='eric',['buy','sell']] *=10
怎么運行的
.iloc是一個整數訪問器。它通過使用整數軸參考列來訪問。所以df.iloc[:,2:]是選擇第二列索引是賣
您可以使用
df.iloc[df[df['name']=='eric'].index,2] *=10
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/406335.html
標籤:
上一篇:將列DataframeA添加到每一行DataframeB
下一篇:用資料框中的絕對路徑替換相對路徑
