[英]How to change pandas DataFrame value after query by some condition
我想更改值,通過使用 iloc 如下所示的代碼
>>df1 = pd.DataFrame([[1,23,45],['x','y','z']],columns=['a','b','c'])
# df1 result
a b c
0 1 23 45
1 x y z
>>df1.loc[(df1['a']==1)].iloc[0,2] = 'dd'
# not change
# I want to show
a b c
0 1 23 dd
1 x y z
如果你想加入loc
+ iloc
是不可能的,你需要鏈條件,參見食譜中的例子:
df1.loc[(df1.index == 0) & (df1['a']==1), df1.columns[2]] = 'dd'
print (df1)
a b c
0 1 23 dd
1 x y z
另外它工作得很好:
df1.iloc[0,2] = 'dd'
print (df1)
a b c
0 1 23 dd
1 x y z
df1.loc[df1['a']==1,'c'] = 'dd'
print (df1)
a b c
0 1 23 dd
1 x y z
df1.loc[0,'c']='dd'
df1
a b c
0 1 23 dd
1 x y z
嘗試以下操作:
df1.loc[df1['a']==1,'c'] = 'dd'
選擇'a'為1的行的c列,然后將其更改為'dd'。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.