我想從使用python從excel檔案匯入的值創建一個字典,excel列檔案如下所示:
| 大學 | 年 |
|---|---|
| 宮內節育器 | 2013年 |
| 宮內節育器 | 2013年 |
| 宮內節育器 | 2013年 |
| 宮內節育器 | 2014年 |
| 宮內節育器 | 2015年 |
| 北京大學 | 2013年 |
| 北京大學 | 2013年 |
| 北京大學 | 2014年 |
| UCP | 2016年 |
| UCP | 2016年 |
| UCP | 2013年 |
| UCP | 2014年 |
輸出應如下所示:
'IUB': {'2013': '3', '2014': '1', '2015': '1'},
'BZU': {'2013': '2', '2014': '1'},
'UCP': {'2013': '1', '2014': '1', '2016': '2'}
uj5u.com熱心網友回復:
您可以使用 Pandas 來讀取 Excel 檔案。然后使用groupby('University, 'Year') 并agg計算每個大學/年的計數。
格式化您的資料幀,pivot然后匯出到字典:
import pandas as pd
df = pd.read_excel("your_excel_file.xlsx")
df['count'] = 0
df = df.groupby(['University', 'Year'], as_index=False)['count'].agg('count')
df = df.pivot(index="Year", columns="University", values="count")
output = df.to_dict()
print(output)
輸出:
{'BZU': {2013: 2.0, 2014: 1.0, 2015: nan, 2016: nan}, 'IUB': {2013: 3.0, 2014: 1.0, 2015: 1.0, 2016: nan}, 'UCP': {2013: 1.0, 2014: 1.0, 2015: nan, 2016: 2.0}}
nan如有必要,您必須手動洗掉值:
for uni, year in output.items():
for y, count in list(year.items()):
if pd.isna(count):
del year[y]
print(output)
輸出:
{'BZU': {2013: 2.0, 2014: 1.0}, 'IUB': {2013: 3.0, 2014: 1.0, 2015: 1.0}, 'UCP': {2013: 1.0, 2014: 1.0, 2016: 2.0}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/362943.html
標籤:蟒蛇-3.x 列表 python-2.7 字典 核心价值
