Pandas学习总结

pandas数据类型

 

https://www.jb51.net/article/139630.htm

Pandas学习总结_第1张图片

文件路径有中文或者文件里面 有中文字

mydata = pd.read_csv(u"例子.csv",encoding = "gbk")# gb2312 or gb18030

Pandas中进行数据类型转换有三种基本方法:

  • 使用astype()函数进行强制类型转换
  • 自定义函数进行数据类型转换
  • 使用Pandas提供的函数如to_numeric()、to_datetime()

当待转换列中含有不能转换的特殊值时(例子中¥,ErrorValue等)astype()函数将失效。有些时候astype()函数执行成功了也并不一定代表着执行结果符合预期(神坑!)

总结一下astype()函数有效的情形:

  • 数据列中的每一个单位都能简单的解释为数字(2, 2.12等)
  • 数据列中的每一个单位都是数值类型且向字符串object类型转换

如果数据中含有缺失值、特殊字符astype()函数可能失效。

在读取数据时就对数据类型进行转换,一步到位

data2 = pd.read_csv("data.csv",

   converters={

    '客户编号': str,

    '2016': convert_currency,

    '2017': convert_currency,

    '增长率': convert_percent,

    '所属组': lambda x: pd.to_numeric(x, errors='coerce'),

    '状态': lambda x: np.where(x == "Y", True, False)

    },

   encoding='gbk')

 

你可能感兴趣的:(pandas)