我想查找数据框中所有列的唯一值计数。
我的数据框中有超过400列,并且尝试了以下操作:
code:dfi.groupby([column names]).size().to_frame('count').reset_index()
但是我不断收到以下错误:
Length of passed values is 4462, index implies 0
我该如何解决?
答案 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