gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:17 25 4
gpt4 key购买 nike

我正在尝试找出如何根据其他列用文本填充某些行,但正在努力弄清楚。下面是 pandas 数据框 中的数据子集示例。

              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 中执行此操作的最简单方法是什么。

最佳答案

使用变换 首先

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

如果每行有一些不同的列

l=['name1','name2'] # column different from each row
pd.concat([df.drop(l,1).groupby('Name_x').transform('first'),df[l]],axis=1).reindex(columns=df.columns)

更新:

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)

关于python - Pandas:根据其他行中的条件用值填充行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49636200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com