首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python:逐行打印多个字典和字符串

python:逐行打印多个字典和字符串
EN

Stack Overflow用户
提问于 2021-05-26 13:37:36
回答 2查看 158关注 0票数 0

我有一个包含各种列的数据,我计算了每个列的value_counts,并将它们转换为to_dict。现在,我想逐行打印它们,并添加一些字符串,描述每个字典如下:

代码语言:javascript
运行
复制
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}

因此,我希望输出结果如下:

代码语言:javascript
运行
复制
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'),但它只返回索引并删除数字(计数)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-26 13:47:41

尝尝这个,

代码语言:javascript
运行
复制
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测试并运行良好。

票数 2
EN

Stack Overflow用户

发布于 2021-05-26 13:52:44

json.dumpsindent =Levelof字典一起使用:

代码语言:javascript
运行
复制
for c in df.columns:
    print(f"{c} and counts\n{json.dumps(df[c].value_counts()[:3].to_dict(),indent=2)}")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67706118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档