在python中将列表错误地转换为数据框[重复]
Posted
技术标签:
【中文标题】在python中将列表错误地转换为数据框[重复]【英文标题】:Incorrect conversion of list into dataframe in python [duplicate] 【发布时间】:2018-11-26 23:42:26 【问题描述】:我正在尝试使用 python 将列表转换为数据框。 我的列表中有所有必要的数据(正确的数据),以字典列表的形式。请参阅下面的字典列表:
['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
此输出的原因可能是什么,我该如何正确处理? 任何帮助将不胜感激。
【问题讨论】:
这应该有效。尝试pd.DataFrame.from_dict(data, orient='columns')
对我有用吗?
嗨@coldspeed,试过了,还是一样的输出:(
那么你的实际数据有一些你没有在这里显示的东西。请提供minimal reproducible example 并确保数据重现您的问题。
@learner,你能试试只用DataFrame
构造函数吗?
这对我和@Nihal 先生都有效。请分享您的源代码。
【参考方案1】:
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
【讨论】:
以上是关于在python中将列表错误地转换为数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章