我有一个列列表,我想迭代以获得每列的.value_counts(),得到错误或我在底部发布的代码我根本没有打印
x = [ 'call_type','date_time','FullAddress','priority']
for i in range(len(x)):
df[x[i]].value_counts()
这是一个单一的列名称
df["call_type"].value_counts()
415 22303
459A 21045
1150 17070
1151 12884
911 11094
CW 9458
586 9405
5150 7109
415V 6922
1016 6453
MCTSTP 5818
1185 5682
FU 5179
1186 5101
415N 5066
SELENF 4787
FD 4435
SLEEPER 3885
INFO 3511
REPORT 3390
1153 3264
PARTY 3170
10851R 2923
602 2877
242 2831
459R 2825
AU2 2802
CC 2776
415PP 2528
488R 2525
您只是生成数据,但没有告诉您的函数将数据打印到控制台。
添加print()
函数
x = ['call_type','date_time','FullAddress','priority']
for i in range(len(x)):
print(df[x[i]].value_counts())
您的解决方案应该工作,也可以简化:
for i in x:
print(df[i].value_counts())
也,
for col in df.columns:
print(df[col].value_counts())
要么,
df.apply(lambda x: x.value_counts()).T.stack()