我有一个包含各种列的数据,我计算了每个列的value_counts,并将它们转换为to_dict。现在,我想逐行打印它们,并添加一些字符串,描述每个字典如下:
print( 'Names and counts',
'\n',
df['names'].value_counts()[:3].to_dict(),
'\n',
'Last names and counts',
'\n',
df['last names'].value_counts()[:3].to_dict(),
'Staff names and counts',
'\n',
df['staff_names'].value_counts()[:3].to_dict(),
'\n',
'Staff last names and counts',
'\n',
df['staff last names'].value_counts()[:3].to_dict())
Current output:
Names and counts
{"Jack": 20, "John": 10, "Samuel": 9}
Last names and counts
{"Brown": 25, "Smith": 30, "Jackson": 5}
Staff names and counts
{"Mars": 22, "Joshua": 20, "Simon": 8}
Staff last names and counts
{"Bernard": 27, "Kohlen": 16, "Dimun": 7}
因此,我希望输出结果如下:
Desired output:
Names and counts
{"Jack": 20,
"John": 10,
"Samuel": 9}
Last names and counts
{"Brown": 25,
"Smith": 30,
"Jackson": 5}
Staff names and counts
{"Mars": 22,
"Joshua": 20,
"Simon": 8}
Staff last names and counts
{"Bernard": 27,
"Kohlen": 16,
"Dimun": 7}
我尝试了pprint()或print(),但是这会引发一个错误。
我还尝试添加print(*每个字典,sep= '\n'),但它只返回索引并删除数字(计数)
发布于 2021-05-26 05:47:41
尝尝这个,
import json
print( 'Names and counts',
'\n',
json.dumps(df['names'].value_counts()[:3].to_dict(),indent=2),
'\n',
'Last names and counts',
'\n',
json.dumps(df['last names'].value_counts()[:3].to_dict(),indent=2),
'Staff names and counts',
'\n',
json.dumps(df['staff_names'].value_counts()[:3].to_dict(),indent=2),
'\n',
'Staff last names and counts',
'\n',
json.dumps(df['staff last names'].value_counts()[:3].to_dict(),indent=2)
将缩进参数更改为更高的编号以获得更好的格式。
备注:由Creator测试并运行良好。
发布于 2021-05-26 05:52:44
将json.dumps
与indent
=Levelof字典一起使用:
for c in df.columns:
print(f"{c} and counts\n{json.dumps(df[c].value_counts()[:3].to_dict(),indent=2)}")
https://stackoverflow.com/questions/67706118
复制