gpt4 book ai didi

python - Dataframe 列中所有类别的通用 ID - Python

转载 作者:行者123 更新时间:2023-11-30 22:54:17 25 4
gpt4 key购买 nike

我有一个包含三列的数据框,分别是 ID、名称和社交网站,如何找到通用 ID/或与所有社交网站/或其中任何一个关联的数据。数据如下

ID  Name Social_Site
1 Jon Facebook
1 Jon Twitter
2 Bob Twitter
2 Bob Linkedin
3 Tony Facebook
3 Tony Linkedin
4 Geon Twitter
4 Geon Facebook
4 Geon Linkedin

因此,所有站点之间的通用 ID 是

ID Name 
4 Geon

并且只有 Facebook 和 Twitter 是

ID Name
1 Jon
4 Geon

非常感谢您的帮助!

最佳答案

您可以使用pivot :

print (df.pivot(index='ID', columns='Social_Site', values='Name'))
Social_Site Facebook Linkedin Twitter
ID
1 Jon Jon None
2 None Bob Bob
3 Tony Tony None
4 Geon Geon Geon

编辑:

要删除带有 NaN 的行,请使用 dropna :

print (df.pivot(index='ID', columns='Social_Site', values='Name')
.dropna())
Social_Site Facebook Linkedin Twitter
ID
4 Geon Geon Geon

print (df.pivot(index='ID', columns='Social_Site', values='Name')[['Facebook','Twitter']]
.dropna())

Social_Site Facebook Twitter
ID
4 Geon Geon

print (df.pivot(index='ID', columns='Social_Site', values='Name')[['Facebook','Linkedin']]
.dropna())

Social_Site Facebook Linkedin
ID
1 Jon Jon
3 Tony Tony
4 Geon Geon

如果需要所有列,请在dropna中使用参数subset:

print (df.pivot(index='ID', columns='Social_Site', values='Name')
.dropna(subset=['Facebook','Linkedin']))

Social_Site Facebook Linkedin Twitter
ID
1 Jon Jon None
3 Tony Tony None
4 Geon Geon Geon

关于python - Dataframe 列中所有类别的通用 ID - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855286/

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