2015-07-10 88 views
0

是否有一種簡單的方法可以計算DataFrame中每個子集的條目數?行由一些變量分組(例如可能是月/ id)。謝謝!獲取子集熊貓的長度DataFrame

編輯

例如,如果我有以下數據集

[['one', 2, 3], 
['one', 3, 4], 
['two', 4, 6]] 

能否計算每個子集的長度由第一列確定的?使得新DataFrame

[['one', 2, 3, 2], 
['one', 3, 4, 2], 
['two', 4, 6, 1]] 

回答

1

可以通過第一列做一個groupby,然後計算各組的長度(使用你的榜樣,但有列名):

In [8]: df = pd.DataFrame([['one', 2, 3], 
    ...: ['one', 3, 4], 
    ...: ['two', 4, 6]], columns=['A', 'B', 'C']) 

In [10]: df.groupby('A')['B'].transform(lambda x: len(x)) 
Out[10]: 
0 2 
1 2 
2 1 
Name: B, dtype: int64 

將它添加到數據幀中:

In [17]: df['len'] = df.groupby('A')['B'].transform(lambda x: len(x)) 

In [18]: df 
Out[18]: 
    A B C len 
0 one 2 3 2 
1 one 3 4 2 
2 two 4 6 1 
+0

太棒了,正是我在找的東西。謝謝! – Tingiskhan