目前,我正在尝试使用一个非常大的数据集,但是在有效执行操作之前,我需要填充空白。我正在使用的模型示例类似于示例1。“名称”仅在“项目”列中为每个“团队”填充1个值。

是否可以将“名称”(Name)列中的值分配给所有具有相应“团队”(Team)编号的行,并将其关联以类似于示例2?我将在Excel文件中阅读。

我是熊猫的新手,我不确定具体要查找什么才能找到此答案,所以我很抱歉以前是否曾问过这个问题。

Ex1

 Team    Item      Name
 1       Credit
 1       Debit     Bob
 1       Etc
 2       Credit
 2       Debit     Steve
 2       Etc

Ex2

 Team    Item      Name
 1       Credit    Bob
 1       Debit     Bob
 1       Etc       Bob
 2       Credit    Steve
 2       Debit     Steve
 2       Etc       Steve

最佳答案

您可以将groupbyffill().bfill()链一起使用。

df['Name']=df.groupby('Team').Name.apply(lambda x : x.ffill().bfill())
df
Out[262]:
   Team    Item   Name
0     1  Credit    Bob
1     1   Debit    Bob
2     1     Etc    Bob
3     2  Credit  Steve
4     2   Debit  Steve
5     2     Etc  Steve

关于python - 有没有一种方法可以根据与Pandas中另一列相关的值来填充列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54715483/

10-12 20:58