计算数据框中所有列的唯一值组合

时间:2019-01-30 10:34:55

标签: python pandas

我想查找数据框中所有列的唯一值计数。

我的数据框中有超过400列,并且尝试了以下操作:

code:dfi.groupby([column names]).size().to_frame('count').reset_index()

但是我不断收到以下错误:

Length of passed values is 4462, index implies 0

我该如何解决?

1 个答案:

答案 0 :(得分:0)

第1步:。创建随机数据框。

df = pd.DataFrame({'x1': ['A','B','A','A','B','A','A','A','B'], 'x2': [1,3,2,2,3,1,2,3,3], 'x3': [1,0,2,2,3,1,2,3,0], 'x4':[1,0,2,1,3,1,2,3,0]})
print(df)
  x1  x2  x3  x4
0  A   1   1   1
1  B   3   0   0
2  A   2   2   2
3  A   2   2   1
4  B   3   3   3
5  A   1   1   1
6  A   2   2   2
7  A   3   3   3
8  B   3   0   0

第2步:计数唯一行

df['count'] = df.groupby(list(df.columns))[list(df.columns)[0]].transform('count')
df=df.drop_duplicates().reset_index().drop(['index'],axis=1)
print(df)
  x1  x2  x3  x4  count
0  A   1   1   1      2
1  B   3   0   0      2
2  A   2   2   2      2
3  A   2   2   1      1
4  B   3   3   3      1
5  A   3   3   3      1