簡體   English   中英

查詢后如何更改pandas DataFrame 值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM