假设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
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它代表同一日期的总计数及其百分比,以便用每个日期制作如下表格,
date variable counts Percentage
20170331 stock 7 70%
bond 1 10%
raw-material 1 10%
curncy 1 10%
Run Code Online (Sandbox Code Playgroud)
我已经解决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 …Run Code Online (Sandbox Code Playgroud) 假设我的字典看起来像,
{('20170330', 'A'): {'earn': '16.02', 'lstdt': '2014/06/16', 'gap': '0.21','ocha': '5.44', 'nav': '77'},
('20170331', 'A'): {'earn': '25.68', 'lstdt': '2015/07/29','gap': '-1.41','ocha': '10.24', 'nav': '106'},
('20170331', 'B'): {'earn': '-', 'lstdt': '2016/09/12', 'gap':'-0.08', 'ocha': '0.79','nav': '145'}}
Run Code Online (Sandbox Code Playgroud)
我怎么能把它变成类似于面板数据的多索引数据框?
估计的结果是,
earn lstdt gap ocha nav
date name
20170330 A 16.02 2014/06/16 0.21 5.44 77
20170331 A 25.68 2015/07/29 -1.41 10.24 106
B - 2016/09/12 -0.08 0.79 145
Run Code Online (Sandbox Code Playgroud)