簡體   English   中英

如何根據熊貓中的另一個更改數據框中的值?

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

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