pandas科学计数法问题解决 + DataFrame转换成一维问题解决

原因 :

字段超出范围,一般都是超出 int 范围

 解决 : 

DataFrame类型后面加上 astype() 里面再加上要更改的类型

例子 :

有一个二氧化碳温室气体排放的数据,

里面记录了每个国家近30、40年来的历年排放数据

 我要统计 每个国家在2000年到2010年这十年二氧化碳温室气体等排放总量

思路 : 

首先 先找出年份在2000年到2010年出现的数据

然后 对找出符合年份的数据的国家 groupby 分类

再按照排放量进行累加

 总结出现的问题 :

1. 

再匹配符合的年份的时候 , 犯了二 , 报了一个错

问题代码 :

报错:

原因 :

匹配年份再2000年到2010年的时候忘记加括号了。。。

解决 :

问题解决 :

 

 2.

这个不算遇到的问题,写在这是为了让我自己记住有这么个东西

以免浪费时间再处理数据类型转换上

照理说

groupby 返回的是一个 <class 'pandas.core.groupby.generic.DataFrameGroupBy'>

groupby.groups 返回的是一个<class 'pandas.io.formats.printing.PrettyDict'>

 这个时候要是对这个series进行一个转换,转成DataFrame类型,输出的结果是这种:

 数据确实有按国家进行划分,也都对这十年排放量进行了累加,但是看着不舒服

后期画图操作个人来说不是很方便

所以我要将这个二维的DataFrame转换成一维的,那么要怎么转换呢

再一开始的 groupby 那里 增加一个 as_index = False

 输出结果 :

 

3.

上面 DataFrame 输出的十年来二氧化碳排放总量呈现的是一个科学计数法形式

原因是超出了类型范围

对 DataFrame 的类型进行更改 astype()

这里我的数据量较大,我更改成了 str字符串类型

 这样它就不是科学计数法的形式了

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值