我對Python大熊貓和使用數據框非常新。比方說,我有如下數據框:在熊貓中分組數據框?
A B C
3 2 3
4 2 4
3 2 1
5 6 6
我想找到我的數據幀有多少行有A和B柱和這些行我想存儲C值相同的值。因此,例如在這個數據框中,我想存儲第一個和第三個C值,因爲每個這些行中的A和B具有相同的值。基本上我想要一種打印方式: 「對於A = 3和B = 2,可能的C值是:3,1」並找到這些對。 我遵循官方的熊貓文檔,但我似乎無法找到這個。
我對Python大熊貓和使用數據框非常新。比方說,我有如下數據框:在熊貓中分組數據框?
A B C
3 2 3
4 2 4
3 2 1
5 6 6
我想找到我的數據幀有多少行有A和B柱和這些行我想存儲C值相同的值。因此,例如在這個數據框中,我想存儲第一個和第三個C值,因爲每個這些行中的A和B具有相同的值。基本上我想要一種打印方式: 「對於A = 3和B = 2,可能的C值是:3,1」並找到這些對。 我遵循官方的熊貓文檔,但我似乎無法找到這個。
不知道如果我按照但這可能讓你去:
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
可以使用unique
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
見還得到nunique
以獲得唯一元素的數量。
哇這很快,是的,這是我想要的。還有一件事,是否可以只打印那些c值超過2的值?我想隱藏只有一個c值的a,b組合。 – user1823812
off top of head可以使用:if g [「c」]。shape [0]> 1:print yada yada – reptilicus