我有一个Python字典列表,每个字典都有相同的键,
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})
并希望使用它创建一个相应的panda dataframe,其中包含一个键的子集。我目前的方法是每次从列表中提取一个dict,然后将它附加到dataframe中
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
但是这是非常慢的(实际的列表和它包含的dicts都非常大)。 有没有一种更好、更快(也更习惯)的方法来遍历字典列表并将它们作为行添加到panda dataframe中? 问题来源StackOverflow 地址:/questions/59379339/from-list-of-dictionary-to-dataframe
只需将数据传递给DataFrame的_init__,或者传递给DataFrame.from_records(两种方法都可以)。 您可能还需要设置一个索引,例如datafame .from_records(data, index = 'k1')。 如果您还需要执行一些计算,那么在创建数据流之后,在DataFrame上执行计算通常更容易、更方便。利用熊猫!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。