我有一个Python的字典列表,每个字典都有相同的键。
但是这种方法非常慢(实际列表和包含的字典都相当大)。
是否有更好、更快(更具惯用性)的方法来迭代一个字典列表并将它们添加为Pandas数据框的行?
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数据框的行?
from_records
真是快! - orome