Pandas dataframe - 检查多行是否具有相同的值
我有一个如下所示的 DataFrame:
Reference | Value |
---|---|
String1 | 1 |
String2 | 0 |
String3 | -1 |
String2 | 1 |
String1 | 1 |
String3 | 0 |
每个引用可以在数据框中出现一次、两次或三次;并且可以具有相同或不同的关联值。 我想创建另一个数据框,它告诉我,对于每个参考,它们是否都具有相同的值。因此,在上面的示例中,我想得到如下内容:
参考 | 值 |
---|---|
String1 | Yes |
String2 | No |
String3 | No |
(我以 Yes 和 No 为例,但它可以是 1/0 或其他)
我该怎么做?
我最初的想法是使用 .groupby
但后来我没有找到任何类型的聚合可以帮助我......
I have a DataFrame which looks like this :
Reference | Value |
---|---|
String1 | 1 |
String2 | 0 |
String3 | -1 |
String2 | 1 |
String1 | 1 |
String3 | 0 |
Each reference can appear in the dataframe either once, two times, or three times ; and can have either the same or different value associated.
I would like to create another dataframe which tells me, for each Reference, do they all have the same value or not. So with the example above, I would like to get something like this :
Reference | Value |
---|---|
String1 | Yes |
String2 | No |
String3 | No |
(I put Yes and No as an example but it could be 1/0 or whatever else)
How can I do this ?
My initial thought was to use a .groupby
but then I didn't find any type of aggregation which would help me here...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
groupby
+nunique
来获取每个引用的唯一值的计数。然后使用 np.where 根据唯一值的数量是否为 1 来分配“是”/“否”值:输出:
You could use
groupby
+nunique
to get a count of unique Values for each Reference. Then usenp.where
to assign Yes/No values depending on if the number of unique values is 1 or not:Output: