简体   繁体   English

如何根据pandas中的特定列值向列添加值

[英]How to add a value to a column based on specific column values in pandas

I have a Dataframe that looks like this:我有一个如下所示的数据框:

Name      Owner    Date         Total
Asun      Louise   14/02/2020    75
Rodrigo   Matt     11/02/2020    67
Asun      Louise   10/20/2020    nan

I would like the dataframe to have the same value in the Total column.我希望数据框在 Total 列中具有相同的值。

Name      Owner    Date         Total
Asun      Louise   14/02/2020    75
Rodrigo   Matt     11/02/2020    67
Asun      Louise   10/20/2020    75

I got really stuck with this.我真的被这个困住了。 Anyone knows how to do this?任何人都知道如何做到这一点?

Use GroupBy.transform with GroupBy.first for first non missing value per groups and repalce missing values of Total column by it with Series.fillna :使用GroupBy.transformGroupBy.first的第一个非缺失每团体的价值和repalce遗漏值Total将其与列Series.fillna

df['Total'] = df['Total'].fillna(df.groupby(['Name','Owner'])['Total'].transform('first'))
print (df)
      Name   Owner        Date  Total
0     Asun  Louise  14/02/2020   75.0
1  Rodrigo    Matt  11/02/2020   67.0
2     Asun  Louise  10/20/2020   75.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM