pandas 读取dict和list操作

在用pandas读取dict和list的时候,依据结构和需求不同,我们可能需要生成不同格式的DataFrame,这里我总结了下我最近遇到的一些读取操作

1.读取dict

这里我们以一个字典为数据,看下不同操作的结果有何不同

data = {'a':[1,2],'b':[2,3]}

(1)直接调用DataFrame进行读取的话,生成的DataFrame结构如下:

pd.DataFrame(data)

或者

pd.DataFrame.from_dict(data)

需要说明的是:from_dict这个方法只有在pandas 0.23版本后才有,如果在早期的版本如0.19中调用会出现报错

(2)如果我们想以a,b作为索引,以list中的每个值分别为一列怎么操作呢?

pd.DataFrame.from_dict(data,orient='index',columns = ['value1','value2'])

如果进一步想让a、b生成列的话,调用reset_index方法即可

pd.DataFrame.from_dict(data,orient='index',columns = ['value1','value2']).reset_index().rename(columns = {'index':'key'})

(3)但是如果我们想把字典的key和value分别生成两列,如何操作呢?

一种方法是:

pd.DataFrame(list(data.items()),columns = ['key','value'])

还有一种方法依然是利用from_dict,不过就需要将value中的list提前转化成字符串,然后再进行操作即可

2.读取list

(1)一般读取一个list,生成的结果如下

pd.DataFrame([1,2,3,4])

(2)如果读取的list中的每个元素都是一个元组,会发生什么呢?

pd.DataFrame([(1,2,3,4),(2,3,4,5)],columns = ['value1','value2','value3','value4'])

如果忽略columns的话,第二个list的值不是列名,而是默认生成索引名,如下:

pd.DataFrame([(1,2,3,4),(2,3,4,5)],['value1','value2'])

以上是最近遇到的一些常用的pandas操作,后面遇到了其他的情况继续完善。

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值