为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用索引字典构建 DataFrame?

如何使用索引字典构建 DataFrame?

繁星淼淼 2021-09-11 10:27:45
我使用数字的 DF(它们是 Y)与“名称”的索引和“日期”的列,并计算不在 DF 中的 3 个其他变量(X)的 PLS 回归。我想在此 DF 的每个日期提取每个名称的 beta 'o',这些名称是使用以日期为索引的循环计算的。问题是存在大量缺失数据 (Y),因为并非每个日期都存在所有名称。因此,我构建了一个索引字典 o[i] ,其中包含在特定日期存在的所有名称,依此类推。我的问题是:如何使用日期和名称作为列和索引的 beta 构建 DF?import pandas as pdimport numpy as npPLS 的结果可以如下组织:o={}o[0]={'Date' : '1995-12-12', 'Names' : ['Jack','Jeff','Paul'] ,'Beta' : [0.254,0.12,0.35]}o[1]={'Date' : '1995-12-13', 'Names' : ['Jack','Jeff','Paul'], 'Beta' : [0.21,0.11,0.31]}o[2]={'Date' : '1995-12-14', 'Names' : ['Jack','Jeff','Paul','Olivia'], 'Beta' : [0.1,0.08,0.4,0.15]}o[3]={'Date' : '1995-12-15', 'Names' : ['Jack','Jeff','Paul','Olivia'], 'Beta' : [0.2,0.13,0.37,0.09]}o[4]={'Date' : '1995-12-16', 'Names' : ['Jeff','Paul','Olivia','Stef'], 'Beta' : [0.15,0.29,0.33,-0.01]}
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您可以尝试通过以下方式进行操作:


# Create the dataframe

df = pd.concat(list(map(pd.DataFrame, o.values())))


# Reindex by Date and Names

df = df.set_index(['Date', 'Names'])

导致


                    Beta

Date       Names        

1995-12-12 Jack    0.254

           Jeff    0.120

           Paul    0.350

1995-12-13 Jack    0.210

           Jeff    0.110

           Paul    0.310

1995-12-14 Jack    0.100

           Jeff    0.080

           Paul    0.400

           Olivia  0.150

1995-12-15 Jack    0.200

           Jeff    0.130

           Paul    0.370

           Olivia  0.090

1995-12-16 Jeff    0.150

           Paul    0.290

           Olivia  0.330

           Stef   -0.010


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信