我正在尝试使用python将列表转换为数据帧。 我以dictonaries列表的形式列出了我的列表中的所有必要数据(正确的数据)。请参阅下面的dictonaries列表:
[{'ABC': 'abc1', 'DEF': 'def1', 'GHI': 'ghi1', 'JKL': 'jkl1', 'MNO': 'mno1', 'PQR': 'pqr1', 'STU': 'stu1', 'VWX': 'vwx1', 'YZ': 'yz1'},
{'ABC': 'abc2', 'DEF': 'def2', 'GHI': 'ghi2', 'JKL': 'jkl2', 'MNO': 'mno2', 'PQR': 'pqr2', 'STU': 'stu2', 'VWX': 'vwx2', 'YZ': 'yz2'},......
我使用以下命令将其转换为数据帧。
newdf = pd.DataFrame.from_dict(case_list_new)
数据帧不是将字典键作为列标题,而是将数字0-8作为列标题,并在字典值应该在的循环中打印列名。这是我得到的数据帧输出:
0 1 2 3 4 5 6 7 8
0 ABC DEF GHI JKL MNO PQR STU VWX YZ
1 ABC DEF GHI JKL MNO PQR STU VWX YZ
这个输出的原因是什么?我怎么能把它说得对? 任何帮助都将非常感激。
答案 0 :(得分:0)
df = [{'ABC': 'abc1', 'DEF': 'def1', 'GHI': 'ghi1', 'JKL': 'jkl1', 'MNO': 'mno1', 'PQR': 'pqr1', 'STU': 'stu1',
'VWX': 'vwx1', 'YZ': 'yz1'},
{'ABC': 'abc2', 'DEF': 'def2', 'GHI': 'ghi2', 'JKL': 'jkl2', 'MNO': 'mno2', 'PQR': 'pqr2', 'STU': 'stu2',
'VWX': 'vwx2', 'YZ': 'yz2'}]
newdf1 = pd.DataFrame(df)
newdf2 = pd.DataFrame.from_dict(df)
print(newdf1)
print(newdf2)
输出:
ABC DEF GHI JKL MNO PQR STU VWX YZ
0 abc1 def1 ghi1 jkl1 mno1 pqr1 stu1 vwx1 yz1
1 abc2 def2 ghi2 jkl2 mno2 pqr2 stu2 vwx2 yz2
ABC DEF GHI JKL MNO PQR STU VWX YZ
0 abc1 def1 ghi1 jkl1 mno1 pqr1 stu1 vwx1 yz1
1 abc2 def2 ghi2 jkl2 mno2 pqr2 stu2 vwx2 yz2