arrays - 将元组作为键和值作为数组的字典转换为熊猫数据框
问题描述
我有以下字典:
dict = {(0, 6): array([[1, 2, 3, 0, 1 ,1]]), (0, 9): array([[1, 2, 3, 0, 1, 1] ])}
我想将其转换为如下所示的 pandas 数据框:
钥匙 | v1 | v2 | v3 | v4 | v5 | v6 |
---|---|---|---|---|---|---|
(0,6) | 1 | 2 | 3 | 0 | 1 | 1 |
(0,9) | 1 | 2 | 3 | 0 | 1 | 1 |
我不希望键成为索引。
谢谢你的帮助。
解决方案
利用:
d = {(0, 6): np.array([[1, 2, 3, 0, 1 ,1]]),
(0, 9): np.array([[1, 2, 3, 0, 1, 1]])}
df = pd.DataFrame.from_dict({k: v[0] for k, v in d.items()}, orient='index')
df = df.rename_axis('Key').rename(columns=lambda x: f'v{x+1}').reset_index()
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1
或者:
df = pd.DataFrame(np.vstack(list(d.values()))).rename(columns=lambda x: f'v{x+1}')
df.insert(0,'Key',list(d.keys()))
print (df)
Key v1 v2 v3 v4 v5 v6
0 (0, 6) 1 2 3 0 1 1
1 (0, 9) 1 2 3 0 1 1
推荐阅读
- javascript - 使用字符串模板将来自 laravel 的路由值与样式绑定时 Vue 警告错误
- php - 带有 ACF 中继器字段的 PHP 邮件格式
- linux - 使用 awk 在每个“追加”实例中向新变量添加不同的值
- wpf - 与 ItemsSource 的 wpf 绑定问题
- c# - 如何更改模块 FormAndList(又名 UserDefinedTable)中 MsBuildTasks 的包文件夹的路径?
- amcharts - 如何将图表中的所有项目设置为在上午图表中具有相同的颜色 4
- python-3.x - Iterate through a list passed to the class
- go-gorm - 如何在 GORM 中引用复合主键?
- openlayers-6 - OpenLayers Vector tiles Styling Optimization
- python - Python: Is it possible to predict the runtime of the code?