![](/img/trans.png)
[英]How to change values in certain column of DataFrame based on another DataFrame in Pandas
[英]How change values in dataframe based on another in pandas?
嗨,我有兩個數據框,並且我想更改第一個數據框中兩個數據框中具有相同ID的值,假設我有:
df1 = [ID price
1 200
4 300
5 120
7 230
8 110
9 90
12 180]
和
df2 = [ID price count
3 340 27
4 60 10
5 290 2]
更換后:
df1 = [ID price
1 200
4 60
5 290
7 230
8 110
9 90
12 180]
我的第一次嘗試:
df1.loc[df1.ID.isin(df2.ID),['price']] = df2.loc[df2.ID.isin(df1.ID),['price']].values
但這是不正確的。
假設ID
是索引(或可以將其設置為索引),則只需update
:
In []:
df1.update(df2)
df1
Out[]:
price
ID
1 200.0
4 60.0
5 290.0
7 230.0
8 110.0
9 90.0
12 180.0
如果您需要set_index()
:
df = df1.set_index('ID')
df.update(df2.set_index('ID'))
df1 = df.reset_index()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.