我试图将只有1条记录的字典转换为熊猫数据框。我用从其他解决方案下面的代码:我如何将字典转换为熊猫数据框
d = {'id': 'CS2_056', 'cost': 2, 'name': 'Tap'}
pd.DataFrame(d.items(), columns=['id', 'cost','name'])
,但我得到了以下错误:
PandasError: DataFrame constructor not properly called!
我试图将只有1条记录的字典转换为熊猫数据框。我用从其他解决方案下面的代码:我如何将字典转换为熊猫数据框
d = {'id': 'CS2_056', 'cost': 2, 'name': 'Tap'}
pd.DataFrame(d.items(), columns=['id', 'cost','name'])
,但我得到了以下错误:
PandasError: DataFrame constructor not properly called!
虽然这个问题确实有重复(Python Dictionary to Pandas Dataframe),我相信有simplier答案比那里提供的那些。
值转换为列表:
d = {'id': ['CS2_056'], 'cost': [2], 'name': ['Tap']}
后来干脆:
df = pd.DataFrame(d)
print(df)
# cost id name
# 0 2 CS2_056 Tap
请记住,如果列的次序关系你仍然需要明确地提供columns
到DataFrame
:
df = pd.DataFrame(d, columns=['id', 'cost', 'name'])
print(df)
# id cost name
# 0 CS2_056 2 Tap
您dict有纪录只有一个使用中的列表:
import pandas as pd
d = {'id': 'CS2_056', 'cost': 2, 'name': 'Tap'}
df = pd.DataFrame([d], columns=d.keys())
print df
输出:
id cost name
0 CS2_056 2 Tap
这工作的可能的复制。我从另一个问题中拿出了我原来的解决方案,但也许它不起作用的原因是因为它只有1条记录? – user3302483
可能是你使用python3。 在python3我们有名单有
pd.DataFrame(list(d.items()), columns=['id', 'cost','name'])
[Python字典,以大熊猫数据框(http://stackoverflow.com/questions/34589332/python-dictionary-to-pandas-dataframe) – McGrady