python字典转DataFrame

错误方法

import pandas as pd
row = {'name' : "index","age" : 20,"dict" : "hunan"}
data=pd.DataFrame(row)

ValueError: If using all scalar values, you must pass an index
个人理解:错误原因是不能用单值(一列的意思,即把键当做行索引,值当作一列,或者键当做列索引,把值当作一行)构建DataFrame,scalar就是单值的意思,它的反面比如列表,字典等等,这些都可以创建多列数据.

解法方法1

使用items()函数, items() 函数以类似列表的方式返回可遍历的(键, 值) 元组数组。

import pandas as pd
row = {'name' : "index","age" : 20,"dict" : "hunan"}
data=pd.DataFrame(row.items())
print(data)

输出:

      0      1
0  name  index
1   age     20
2  dict  hunan

或者:

import pandas as pd
row = {'name' : "index","age" : 20,"dict" : "hunan"}
data=pd.DataFrame(row.items(),columns=['属性','值'])
print(data)

输出:

     属性      值
0  name  index
1   age     20
2  dict  hunan

解决方法2

设置行的索引

import pandas as pd
row = {'name' : "index","age" : 20,"dict" : "hunan"}
data=pd.DataFrame(row,[0])
print(data)

输出:

    name  age   dict
0  index   20  hunan

解决方法3

把标量值(scalar value)改成列表

import pandas as pd
row = {'name' : ["index"],"age" : [20],"dict" : ["hunan"]}
data = pd.DataFrame(row)
print(data)

输出:

    name  age   dict
0  index   20  hunan

解决方法4

使用Series也可以达到效果

import pandas as pd
row = {'name' : "index","age" : 20,"dict" : "hunan"}
data = pd.Series(row)
print(data)

输出:

name    index
age        20
dict    hunan
dtype: object

解决方法5

使用DataFrame.from_dict()函数

import pandas as pd
row = {'name' : ["index"],"age" : [20],"dict" : ["hunan"]}
data = pd.DataFrame.from_dict(row)
print(data)

输出:

    name  age   dict
0  index   20  hunan
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值