Python 代码解析:统计在线教育市场“未披露”投资人信息
读取 JSON 文件
import json
with open('investment_info.json', 'r', encoding='utf-8') as f: data = json.load(f)
定义一个字典用于存储未披露投资人的投资总次数和投资总额,以及股权占比的总和和计数
undisclosed_investor = {} for year in range(2015, 2021): undisclosed_investor[year] = {'count': 0, 'amount': 0, 'equity_sum': 0, 'equity_count': 0}
遍历数据,统计未披露投资人的投资总次数和投资总额,以及股权占比的总和和计数
for item in data: if '未披露' in item['投资人']: year = int(item['时间'].split('/')[0]) undisclosed_investor[year]['count'] += 1 if item['投资金额'] != '未披露': if '万' in item['投资金额']: amount = float(item['投资金额'].split('万')[0]) * 10000 elif '美元' in item['投资金额']: amount = float(item['投资金额'].split('美元')[0]) * 6.5 else: amount = float(item['投资金额']) undisclosed_investor[year]['amount'] += amount if item['最新估值(估算)'] != '未披露': equity = amount / float(item['最新估值(估算)'].split('亿')[0]) * 100 undisclosed_investor[year]['equity_sum'] += equity undisclosed_investor[year]['equity_count'] += 1
计算每年的股权占比平均值
for year in range(2015, 2021): if undisclosed_investor[year]['equity_count'] != 0: undisclosed_investor[year]['equity_avg'] = undisclosed_investor[year]['equity_sum'] / undisclosed_investor[year]['equity_count'] else: undisclosed_investor[year]['equity_avg'] = 0
按照投资次数降序、投资金额降序、股权降序、年份升序排序
result = sorted(undisclosed_investor.items(), key=lambda x: (-x[1]['count'], -x[1]['amount'], -x[1]['equity_avg'], x[0]))
将结果写入 result.txt 文件中
with open('result.txt', 'w', encoding='utf-8') as f: for year, info in result: f.write(f'{year}年未披露投资人的投资总次数为{info['count']},投资总额为{info['amount']:.2f}元,股权占比的平均值为{info['equity_avg']:.2f}%。\n')
原文地址: http://www.cveoy.top/t/topic/oiZG 著作权归作者所有。请勿转载和采集!