从dict创建数据帧并将其附加



我有一个文件目录,我正在将其解析为具有多个键值对的字典,我想将每个字典存储为pandas数据帧中的一行。

import pandas as pd
df = pd.DataFrame()
for file in os.listdir(directory):
dict1 = parseFileToDict(file)
df_temp = pd.DataFrame.from_dict(dict1, orient='columns')
df_temp.set_index('name')
df =  df.append(df_temp)

"parseFileToDict(("的示例输出如下,

d = {'name': 'foo', 'place': 'bar', 'dob': '22-11-1990'}

但我在从字典创建pandas数据帧时遇到了以下错误

"ValueError: If using all scalar values, you must pass an index"

创建循环中第一个dicts的列表:

L = []
for file in os.listdir(directory):
dict1 = parseFileToDict(file)
L.append(dict1)

或者在列表理解中:

L = [parseFileToDict(file) for file in os.listdir(directory)]

如果性能很重要,则传递给DataFrame构造函数:

df = pd.DataFrame(L).set_index('name')

最新更新