Python Groupby中的项目计数
这是一个较大数据帧的示例。我有一个数据帧在一个4的groupby中Python Groupby中的项目计数,python,pandas,duplicates,pandas-groupby,Python,Pandas,Duplicates,Pandas Groupby,这是一个较大数据帧的示例。我有一个数据帧在一个4的groupby中 gr = df.groupby(np.arange(len(df.index))//4) 我试图将每组4个字母中唯一字母的字母数放入一个名为count的新列中 我已经试过几次了,但还是没能做到最后。任何帮助都将不胜感激。我试过df.duplicate,value\u count,但是 它的形式不会按预期的那样出现。有什么想法吗?也许是一个值,然后将字母映射到正确的位置 我还想避免for循环。我正在寻找一个熊猫数据帧技巧,或者可
gr = df.groupby(np.arange(len(df.index))//4)
我试图将每组4个字母中唯一字母的字母数放入一个名为count的新列中
我已经试过几次了,但还是没能做到最后。任何帮助都将不胜感激。我试过df.duplicate,value\u count,但是
它的形式不会按预期的那样出现。有什么想法吗?也许是一个值,然后将字母映射到正确的位置
我还想避免for循环。我正在寻找一个熊猫数据帧技巧,或者可能是一个lambda x函数,它可能会工作
import pandas as pd
import numpy as np
data= [['X',1000],
['X',60],
['X',60],
['Y',40],
['X',60],
['Z',30],
['X',60],
['Z',30],
['X',60],
['Z',30],
['Y',40],
['S',25]]
df = pd.DataFrame(data,columns=['Letter','Cost'])
#groupby4s
gr = df.groupby(np.arange(len(df.index))//4)
我正在寻找的表格:
Letter Cost Count
0 X 60 3
1 X 60 3
2 X 60 3
3 Y 40 1
4 X 60 2
5 Z 30 2
6 X 60 2
7 Z 30 2
8 X 60 1
9 Z 30 1
10 Y 40 1
11 S 25 1
尝试将
groupby
与transform
和count
一起使用:
df['Count'] = df.groupby([np.arange(len(df.index))//4, df['Letter']])['Letter']\
.transform('count')
输出:
Letter Cost Count
0 X 1000 3
1 X 60 3
2 X 60 3
3 Y 40 1
4 X 60 2
5 Z 30 2
6 X 60 2
7 Z 30 2
8 X 60 1
9 Z 30 1
10 Y 40 1
11 S 25 1
尝试一个groupby().agg({[你的cols]:['sum',count']})我正试图做你回答的事情我的语法绝对不正确…………让我确保我理解…………groupby……按4s分组…………然后按列字母分组…………并计算每个字母的计数。非常感谢。