pandas 强制类型转换 df.astype实例

时间:2021-05-22

废话不多说,大家还是直接看代码吧!

import pandas as pdfrom matplotlib import pyplot as pltfrom datetime import datetimefilename='sitka_weather_2014.csv'df=pd.read_csv(filename)print(df.dtypes)df[' Min Humidity']=df[' Min Humidity'].astype('float64')df=df.astype({'Max Humidity':'float64','Max Dew PointF':'float64'})print('*'*44)print(df.dtypes)

补充知识:python pandas转换数据类型astype(int)报错问题

代码:

import pandas as pda = pd.Series([‘1.11',‘2.22'])print(a)a = a.astype(int)print(a)

报错

ValueError: invalid literal for int() with base 10: ‘1.11'

代码:

import pandas as pda = pd.Series([‘1.11',‘2.22'])print(a)a = a.astype(float).astype(int)print(a)

输出:

0 1.11
1 2.22
dtype: object
0 1
1 2
dtype: int32

原因:

astype(int)在转换数据类型时,直接将字符串转为整型数据字符串中的小数点会被认为是特殊字符而报错;

先转成浮点数据,astype(int)会把数据当做数字来进行转换。

以上这篇pandas 强制类型转换 df.astype实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章