是否有一种简单的方法来计算DataFrame
中每个子集的条目数?行按一些变量分组(例如可以是月/ id)。谢谢!
修改
例如,如果我有以下数据集
[['one', 2, 3],
['one', 3, 4],
['two', 4, 6]]
我可以计算第一列确定的每个子集的长度吗?这样新的DataFrame
将是
[['one', 2, 3, 2],
['one', 3, 4, 2],
['two', 4, 6, 1]]
答案 0 :(得分: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