我对 Dataframe 还是个新手,我正在尝试识别一列中的唯一值与另一列中的唯一值完全相同。例如,如果列“A”中的元素“a”在列“B”中具有唯一值“x”、“y”和“z”,我如何找到列“A”中也具有唯一值“x”、“y”和“z”的其他元素?和B栏的z
这篇文章中的解决方案让我成功了一半,但仍然需要手动分析才能检索到这些信息:Pandas, for each unique value in one column, get unique values in another column
将此解决方案应用于以下示例:
import pandas as pd
df1 = pd.DataFrame({
'name': ['John', 'Jane', 'John', 'Bill', 'Sue', 'Fred', 'Bill'],
'response': [23, 29, 21, 21, 34, 18, 23]})
print(df1.groupby('name').apply(lambda x:
x['response'].sort_values().unique()).reset_index())
生成以下结果:
name 0
0 Bill [21, 23]
1 Fred [18]
2 Jane [29]
3 John [21, 23]
4 Sue [34]
我想找到一个解决方案来确定比尔和约翰有相同的React。
谢谢大家!
P.S.任何关于如何重命名输出中的“0”列的建议都将不胜感激!
1条答案
按热度按时间7lrncoxx1#
您已经基本上得到了它,只需要对列值进行一点修改,这样您就不会在下一次迭代中得到与第一次迭代类似的错误。
出局
现在再做一次迭代,与之前类似