gpt4 book ai didi

Python Pandas : How do I return members of groupby

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:59 26 4
gpt4 key购买 nike

我正在为有亲属关系的人做一些数据框架的研究。但当我找到兄弟时,我无法管理,我无法找到一种方法将他们全部写在特定的栏中。下面是一个例子:

cols = ['Name','Father','Brother']
df = pd.DataFrame({'Brother':'',
'Father':['Erick Moon','Ralph Docker','Erick Moon','Stewart Adborn'],
'Name':['John Smith','Rodolph Ruppert','Mathew Common',"Patrick French"]
},columns=cols)

df
Name Father Brother
0 John Smith Erick Moon
1 Rodolph Ruppert Ralph Docker
2 Mathew Common Erick Moon
3 Patrick French Stewart Adborn

我想要的是这样的:

          Name          Father           Brother
0 John Smith Erick Moon Mathew Common
1 Rodolph Ruppert Ralph Docker
2 Mathew Common Erick Moon John Smith
3 Patrick French Stewart Adborn

我感谢任何帮助!

最佳答案

这里有一个你可以尝试的想法,首先创建一个 Brother 列,其中所有兄弟作为一个列表(包括其自身),然后单独删除其自身。代码可能可以优化,但您可以从哪里开始:

import numpy as np
import pandas as pd
df['Brother'] = df.groupby('Father')['Name'].transform(lambda g: [g.values])
def deleteSelf(row):
row.Brother = np.delete(row.Brother, np.where(row.Brother == row.Name))
return(row)
df.apply(deleteSelf, axis = 1)

# Name Father Brother
# 0 John Smith Erick Moon [Mathew Common]
# 1 Rodolph Ruppert Ralph Docker []
# 2 Mathew Common Erick Moon [John Smith]
# 3 Patrick French Stewart Adborn []

关于Python Pandas : How do I return members of groupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161531/

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