【发布时间】:2014-06-12 10:56:37
【问题描述】:
我有一个 Python dicts 列表,每个都有相同的键,
dict_keys= ['k1','k2','k3','k4','k5','k6'] # More like 30 keys in practice
data = []
for i in range(20): # More like 3000 in practice
data.append({k: np.random.randint(100) for k in dict_keys})
并且想用它来创建一个对应的 Pandas 数据框和一个键的子集。我目前的方法是一次从列表中取出每个dict,并使用
df = pd.DataFrame(columns=['k1','k2','k5','k6'])
for d in data:
df = df.append({k: d[k] for k in list(df.columns)}, ignore_index=True)
# In practice, there are some calculations on some of the values here
但这非常慢(实际的列表和它包含的字典都非常大)。
是否有更好、更快(且更惯用)的方法来遍历字典列表并将它们作为行添加到 Pandas 数据框中?
【问题讨论】:
标签: python dictionary pandas dataframe