使用多个字典的for循环填充列

问题描述 投票:0回答:1

我有多个字典,我正在尝试将它们附加到一个数据框中。

import pandas as pd
dict1 = {'A': '1', 'B': [{'att1': 'value1', 'att2': 'value2'}]}
dict2 = {'A': '2', 'B': [{'att1': 'value3', 'att2': 'value4'}]}
df = pd.DataFrame()
dict = [dict1, dict2]
df['A'] = []
for i in range(0, 2):
    df = df.append(dict[i]['B'])
    df['A'] = (dict[i]['A'])

这给

   A    att1    att2
0  2  value1  value2
0  2  value3  value4

但是我想要

   A    att1    att2
0  1  value1  value2
0  2  value3  value4

任何人都可以帮忙吗?

python pandas dictionary for-loop append
1个回答
0
投票

建立您要附加的行:

for i in range(0, 2):
    row = dict[i]['B']
    row[0].update({'A': dict[i]['A']})
    df = df.append(row)
    print(df)

输出:

   A    att1    att2
0  1  value1  value2

   A    att1    att2
0  1  value1  value2
0  2  value3  value4

如果您研究如何从dict(或JSON对象)构建整个数据框架,这对您来说可能会更平滑。我只解决了眼前的问题。

© www.soinside.com 2019 - 2024. All rights reserved.