如何从ordereddict生成多个数据帧?

2024-09-24 22:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有序字典,其中键是工作表名称,值包含工作表项。因此,问题是:如何使用每个键并转换为单个数据帧?你知道吗

import pandas as pd
powerbipath = 'PowerBI_Ingestion.xlsx' dfs = pd.read_excel(powerbipath, None)

values=[] for idx, eachdf in enumerate(dfs):
    eachdf=dfs[eachdf]
    new_list1.append(eachdf)
    eachdf = pd.DataFrame(new_list1[idx])

我看到的示例只展示了如何从有序字典转换为1个数据帧。我想转换成多个数据帧。因此,如果有5个键,将有5个数据帧。你知道吗


Tags: 数据import名称pandasnew字典aspd
2条回答

下面是使用these ideas之一的基本答案

keys = df["key_column"].unique
df_array = {}
for k in keys : 
   df_array[k] = dfs[dfs['key_column'] == k]

也许还有更有效的方法。你知道吗

您可能需要这样做(假设您的字典看起来像“d”):

d = {'first': [1, 2], 'second': [3, 4]}
for i in d:
  df = pd.DataFrame(d.get(i), columns=[i])
  print(df)

输出如下所示:

   first
0      1
1      2
   second
0       3
1       4

相关问题 更多 >