首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取行不同的不同列

如何获取行不同的不同列
EN

Stack Overflow用户
提问于 2018-07-10 05:06:01
回答 1查看 22关注 0票数 -3

我有一个这样的数据帧:

代码语言:javascript
复制
Id     Name     site                 status
1995   sachin   http://www.abcd.co   closed
1996   sachin   http://www.abcd.co   working   
1997   sourav   http://www.abcd.co   closed
1998   sourav   http://www.abcd.co   working  

我想找出对于给定的名称,哪些列可能会有所不同。在本例中,对于每个名称,站点都是相同的(它始终是http://www.abcd.co),但状态和Id都不同。(我不关心Id,但是我可以在事后把它扔掉。)

因此,对于上面的数据帧,如果我查看"Name",我想要输出"status“(或"Id","status")。相反,如果我查看"status“列,我会希望使用"Id", "Name"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-10 05:16:07

我认为这个问题并不像每个人都发现的那样令人困惑。对于固定的名称,我们寻找的是非Id列,这些列是可变的。我可能会这样做:

代码语言:javascript
复制
multivalued = (df.drop("Id", axis=1).groupby("Name").nunique() > 1).any()
result = multivalued[multivalued].index.tolist()

这给了我

代码语言:javascript
复制
In [91]: result
Out[91]: ['status']

因为

代码语言:javascript
复制
In [97]: (df.drop("Id", axis=1).groupby("Name").nunique())
Out[97]: 
        Name  site  status
Name                      
sachin     1     1       2
sourav     1     1       2

In [98]: ((df.drop("Id", axis=1).groupby("Name").nunique()) > 1).any()
Out[98]: 
Name      False
site      False
status     True
dtype: bool
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51254027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档