我想從數據塊上的groupby對象中聚合一些統計數據。我必須將數據分塊,因爲有很多(1800萬)行。我想在每個塊中找到每個組中的行數,然後將它們相加。我可以添加groupby對象,但是當一個組中不存在一個詞時,NaN就是結果。看到這個情況:由對象聚合大熊貓組
>>> df = pd.DataFrame({'X': ['A','B','C','A','B','C','B','C','D','B','C','D'],
'Y': range(12)})
>>> df
X Y
0 A 0
1 B 1
2 C 2
3 A 3
4 B 4
5 C 5
6 B 6
7 C 7
8 D 8
9 B 9
10 C 10
11 D 11
>>> df[0:6].groupby(['X']).count() + df[6:].groupby(['X']).count()
Y
X
A NaN
B 4
C 4
D NaN
但我希望看到:
>>> df[0:6].groupby(['X']).count() + df[6:].groupby(['X']).count()
Y
X
A 2
B 4
C 4
D 2
有沒有做到這一點的好辦法?請注意,在實際代碼中,我循環遍歷每個組的百萬行的分塊迭代器。
的'fill_value'是一個不錯的選擇,另一種選擇是使用'fillna(0)'每個GROUPBY結果,然後總結他們 – joris
你可能想看看Blaze。 http://continuum.io/blog/blaze-expressions – Alexander