python - 数据框嵌套字典到多索引数据框
问题描述
首先构建我的问题数据集的简化版本,这只是帮助创建一个样本,我手头只有最终的nest_dict。意思是我没有单独的dfs:
df1 = pd.DataFrame({'val':{'a': 1, 'b':2, 'c':3}})
df2 = pd.DataFrame({'val':{'a': 3, 'b':4, 'c':1}})
df3 = pd.DataFrame({'val':{'a': 2, 'b':1, 'c':4}})
dfs = [df1, df2, df3]
dates = ['2017-01-26','2017-02-03','2017-02-10']
nest_dict = {}
for date, d in zip(dates, dfs):
nest_dict[date] = d
我想将其转换为多索引数据框。
date1 a val1
b val2
c val3
date2 a val1
b val2
c val3
....
它基本上是一个以日期为键的数据框,它可以很容易地成为一个面板,但是由于它已被弃用,我如何将它转换为多索引数据框?我确实尝试了以下操作,但它不起作用:
d = {(key, item) for key, item in corr_SH50.items()}
TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed
解决方案
与键连接:
pd.concat(dfs,keys=dates)
val
2017-01-26 a 1
b 2
c 3
2017-02-03 a 3
b 4
c 1
2017-02-10 a 2
b 1
c 4
推荐阅读
- python - 无论我如何指定它,我的 Selenium Webdriver 都找不到按钮
- arrays - 如何在arduino中存储和调用多个字母?
- php - PHP curl_multi_exec apache限制?
- node.js - Express 应用程序在 Azure 上成功部署,但仍然没有任何效果
- php - 如何为 JQuery 和 Codeigniter 4 启用或允许 Access-Control-Allow-Origin
- php - Plesk Laravel 调度程序不运行
- javascript - 服务器返回http 500错误时如何使用chrome扩展名自动重新加载页面
- php - 在 codeigniter 中从 Legacy stripe checkout 迁移到新版本
- xml - 使用 PowerShell 解析 XML 文件
- go - Go中未定义的函数位于本地包中