2024-04-25 23:46:21 发布
网友
我对python和dataframes还很陌生。假设数据帧如下所示:
A B C 3 2 3 4 2 4 3 2 1 5 6 6
我想找出数据帧中有多少行在A列和B列中具有相同的值,并为这些行存储C值。例如,在这个数据帧中,我想存储第1个和第3个C值,因为这些行中的A和B都有相同的值。基本上我想要一种打印方式,比如: “对于A=3和B=2,可能的C值为:3,1”,然后找到这些对。 我遵循熊猫官方文件,但我似乎找不到这个。你知道吗
您可以使用^{} SeriesGroupBy method:
In [11]: df.groupby(["A", "B"])["C"].unique() Out[11]: A B 3 2 [3, 1] 4 2 [4] 5 6 [6] Name: C, dtype: object
另请参见^{}以获取唯一元素的数量。
不知道我是否明白,但这可能会让你走:
df = DataFrame({"a": [3,4,3,5], "b":[2,2,2,6], "c": [3,4,1,6]}) In [38]: for i, g in df.groupby(("a", "b")): print i, g["c"].values ....: (3, 2) [3 1] (4, 2) [4] (5, 6) [6]
你可以试试这个:
In [187]: df Out[187]: A B C 0 3 2 3 1 4 2 4 2 3 2 1 3 5 6 6 In [188]: df[df.groupby(['A', 'B']).transform(np.count_nonzero).C>=2] Out[188]: A B C 0 3 2 3 2 3 2 1 Name: C, dtype: float64
您可以使用^{} SeriesGroupBy method :
另请参见^{} 以获取唯一元素的数量。
不知道我是否明白,但这可能会让你走:
你可以试试这个:
相关问题 更多 >
编程相关推荐