【发布时间】:2018-10-14 14:38:14
【问题描述】:
假设df.bun(df 是 Pandas 数据框)是一个多索引(日期和名称),变量是用字符串写入的类别值,
date name values
20170331 A122630 stock-a
A123320 stock-a
A152500 stock-b
A167860 bond
A196030 stock-a
A196220 stock-a
A204420 stock-a
A204450 curncy-US
A204480 raw-material
A219900 stock-a
我怎样才能用它来表示同一日期的总计数及其百分比,以便用每个日期制作如下表,
date variable counts Percentage
20170331 stock 7 70%
bond 1 10%
raw-material 1 10%
curncy 1 10%
我已经完成print(df.groupby('bun').count()) 来解决这个问题,但它缺乏..
cf) 在获取 df.bun 之前,我使用以下代码将嵌套字典导入 Pandas 数据框。
import numpy as np
import pandas as pd
result = pd.DataFrame()
origDict = np.load("Hannah Lee.npy")
for item in range(len(origDict)):
newdict = {(k1, k2):v2 for k1,v1 in origDict[item].items() for k2,v2 in origDict[item][k1].items()}
df = pd.DataFrame([newdict[i] for i in sorted(newdict)],
index=pd.MultiIndex.from_tuples([i for i in sorted(newdict.keys())]))
print(df.bun)
【问题讨论】:
-
什么是
df?如果它有标签,您可以编辑您的问题以添加它,如果没有,您可以编辑您的问题以链接到df应该是什么? -
数据框不够用。你用哪个包。我想是熊猫,但你的问题并不清楚。此外,通常最好显示(最小)代码,即实际运行
标签: python pandas percentage pandas-groupby