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