创建一个新列,该列是在不使用GroupByPython的情况下每行满足2个参数的次数的重复计数

创建一个新列,该列是在不使用GroupByPython的情况下每行满足2个参数的次数的重复计数,python,pandas,dataframe,parameters,count,Python,Pandas,Dataframe,Parameters,Count,我想创建一个列,显示一列中的两个参数在每行中相遇的次数。例如,在下图中,我需要显示“n”列。这是一个根据行是否满足每个参数而复制的数字。我希望它以“n”的形式给出一个计数,显示单位/月份相同的次数 不知道如何解决这个问题而不使用组_by。。。有什么想法吗 以下是构建数据帧的脚本: lst = [['unit_1', 1], ['unit_1', 1], ['unit_1', 1], ['unit_1', 1], ['unit_1', 1], ['unit_2',

我想创建一个列,显示一列中的两个参数在每行中相遇的次数。例如,在下图中,我需要显示“n”列。这是一个根据行是否满足每个参数而复制的数字。我希望它以“n”的形式给出一个计数,显示单位/月份相同的次数

不知道如何解决这个问题而不使用组_by。。。有什么想法吗

以下是构建数据帧的脚本:

lst = [['unit_1', 1], ['unit_1', 1], 
       ['unit_1', 1], ['unit_1', 1],
       ['unit_1', 1], ['unit_2', 1], 
       ['unit_2', 1], ['unit_2', 1], 
       ['unit_2', 1], ['unit_4', 2], 
       ['unit_8', 4], ['unit_5', 2]] 

df = pd.DataFrame(lst, columns =['unit', 'month'])
  • 使用,
  • 数据已更改,以反映特定机组存在多个月的情况。在这种情况下,单元_1有第1个月和第2个月
将熊猫作为pd导入
#资料
df=pd.DataFrame({'unit':['unit_1','unit_1','unit_1','unit_1','unit_1','unit_1','unit_2','unit_2','unit_2','unit_2','unit_4','unit_5','unit_6'],
“月”:[1,1,1,2,2,1,1,1,1,1,2,4]})
单位月
第一单元
第一单元
第一单元
第12单元
第12单元
第2单元1
第2单元1
第2单元1
第2单元1
第4单元2
第5单元2
第六单元4
t=pd.DataFrame(df.groupby(['unit','month'])['month'].count()).rename(columns={'month':'n'})
N
单位月
单元1 1 3
2   2
单元2 1 4
单元4 2 1
第5 2 1单元
第6 4 1单元
#现在加入他们
设置索引(['unit',month'])。加入(t,on=['unit',month'])。重置索引()
单位月份n
单元1 1 3
单元1 1 3
单元1 1 3
单元1 2
单元1 2
单元2 1 4
单元2 1 4
单元2 1 4
单元2 1 4
单元4 2 1
第5 2 1单元
第6 4 1单元

使用
df['n']=df.groupby(['unit','month'])['month'].transform('size')
完美!!!谢谢:)@AmandaWishnie更新