在python

时间:2018-06-18 07:04:02

标签: python dataframe

我正在尝试使用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

这个输出的原因是什么?我怎么能把它说得对? 任何帮助都将非常感激。

1 个答案:

答案 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