如何计算重复数据中的熊猫数据帧

时间:2020-08-03 11:58:39

标签: python pandas dataframe

我的初始数据框是:

    Name        Info1        Info2
0  Name1  Name1-Info1  Name1-Info2
1  Name1  Name1-Info1  Name1-Info2
2  Name1  Name1-Info1  Name1-Info2
3  Name2  Name2-Info1  Name2-Info2
4  Name2  Name2-Info1  Name2-Info2

并且我想这样返回每一行的重复次数:

    Name        Info1        Info2  Count
0  Name1  Name1-Info1  Name1-Info2      3
1  Name2  Name2-Info1  Name2-Info2      2

如何计算重复数据中的熊猫数据框?

4 个答案:

答案 0 :(得分:9)

   $this->db->group_start();
   $this->db->where_in('k.profile1_id', $value);
   $this->db->or_where_in('k.profile2_id', $value);
   $this->db->or_where_in('k.profile3_id', $value);
   $this->db->group_end();

答案 1 :(得分:4)

给出您的示例df

    Name        Info1        Info2
0  Name1  Name1-Info1  Name1-Info2
1  Name1  Name1-Info1  Name1-Info2
2  Name1  Name1-Info1  Name1-Info2
3  Name2  Name1-Info2  Name1-Info2
4  Name2  Name1-Info2  Name1-Info2

以下内容:

df.pivot_table(index=list(df), aggfunc='size')

将返回您要得到的东西:

Name   Info1        Info2
Name1  Name1-Info1  Name1-Info2    3
Name2  Name1-Info2  Name1-Info2    2

答案 2 :(得分:0)

添加列'count'并执行df.groupby

df['count'] = 1      
df.groupby(['Name', 'Info1', 'Info2'])['count'].sum().reset_index()

答案 3 :(得分:0)

f= [4,3,1,2]
f[0],f[f.index(min(f[2:]))] = f[f.index(min(f[2:]))] ,f[0]

print(f)
[4, 3, 1, 2]