Python中文
首页
教程
问答
标签
搜索
登录
注册
从csv文件中以嵌套dict格式分别计算雄性和雌性
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这段代码运行良好,它以这种格式打印结果</p> <p><a href="https://i.stack.imgur.com/CFhQZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CFhQZ.png" alt="enter image description here"/></a></p> <p>我需要像这样的嵌套dict格式的结果</p> <pre><code>data = { 'year': { 'male': {'Q1': 1, 'Q2': 1, 'Q3': 1, 'Q4': 1, }, 'female': { 'Q1': 1, 'Q2': 1, 'Q3': 1, 'Q4': 1, } } } </code></pre> <p>守则:</p> <pre><code>import csv results = {'males': {}, 'females': {}} with open('1000 Records.csv') as csv_file: csv_reader = csv.reader(csv_file) for row in csv_reader: year_of_joining = int(row[17]) quarter_of_joining = row[15] gender = 'males' if row[5] == 'M' else 'females' if year_of_joining not in results[gender]: results[gender][year_of_joining] = {f'Q{i + 1}': 0 for i in range(4)} results[gender][year_of_joining][quarter_of_joining] += 1 years = list(results['males'].keys()) + list(results['females'].keys()) years = sorted(list(set(years))) for year in years: count = [results['males'].get(year, 0), results['females'].get(year, 0)] print("Male's and Female's: %s: %s" % (year, count)) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你很接近。在你的<code>for year in years</code>之外保留一本字典,其中存储年度盘点的运行结果:</p> <pre><code>data = {} for year in years: data[year] = {'male':results['males'].get(year, 0), 'female':results['females'].get(year, 0)} </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
9 回答
尽管python中的表达式为false,但循环仍在运行
8 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
2 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
4 回答
尽管python字典包含了大量的条目,但它并没有增长
6 回答
尽管python说模块存在,为什么我会得到这个消息?
8 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
7 回答
尽管stdout和stderr重定向,但未捕获错误消息
1 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
7 回答
尽管tkinter上的变量已更改,但显示未更改
6 回答
尽管try/except使用Python进行单元测试时出现断言错误
2 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
9 回答
尽管url有效,Pandas仍读取url的\u csv错误
7 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
8 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
6 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
8 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
9 回答
尽管下载了i,但找不到型号“fr”
1 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
6 回答
尽管为所有行指定了权重,网格(0)仍不起作用
10 回答