Pandas:根据其他行中的条件用值填充行

2024-09-30 14:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图找出如何根据其他列的文本填充一些行,但我很难找到答案。下面是我在pandasdata frame中的一个子集数据的示例。在

              Group       Name_X       Name_Y  Code Group_Code Group_Correct
0           Group_A   Company_PJ   Company_PJ  M001   1-00-002       Group_A
1       Group_A_Ltd   Company_PJ          NaN   NaN        NaN           NaN
2           Group_B  Company_XYZ          NaN   NaN        NaN           NaN
3         Group_GTY    Company_R    Company_R  M020   1-00-033     Group_GTY
4           Group_A   Company_PJ          NaN   NaN        NaN           NaN
5         Group_BGG   Company_VV   Company_VV  M023   1-00-233     Group_BGG
6           Group_B  Company_XYZ          NaN   NaN        NaN           NaN
7           Group_B  Company_XYZ  Company_XYZ  M003   1-00-003       Group_B
8   Group_B_Limited  Company_XYZ          NaN   NaN        NaN           NaN
9           Group_B  Company_DEF  Company_DEF  M004   1-00-006       Group_B
10         Group_B+  Company_DEF          NaN   NaN        NaN           NaN

我想要的是像下面这样的东西。显示为红色的文本是根据其他行中文本的条件需要填充或更改的文本。在

enter image description here

python中,最简单的方法是什么。在


Tags: 答案name文本defgroupcodenancompany
1条回答
网友
1楼 · 发布于 2024-09-30 14:21:37

使用transformfirst

df=df.groupby('Name_x').transform('first')

如果每行有不同的列

^{pr2}$

更新:

pd.concat([df.drop(l,1).groupby('Name_x').transform('first'),df[l.append('Name_x')]],axis=1).reindex(columns=df.columns)

更新2:

pd.concat([df.drop(l,1).groupby('Name_x').transform('first'),df[l],df[['Name_x']]],axis=1).reindex(columns=df.columns)

相关问题 更多 >