python pandas 读取文件时指定字段类型/格式

Python kingmo888 7400℃ 0评论

有时候,使用python的pandas模块在读取本地文件时,它会自动猜测字段的类型并转换为对应的格式。大多数时候很方便。

但有的时候就不那么方便了。

比如,本来文本文件中有一列看起来是数值,但实际我们想把他当作字符串使用的,这时候就很尴尬了。

又或者一些个时间字段,0900表示9点,如果当作数值的话就成了900.0了。相当之被动。

 

其实没那么麻烦,读数据的时候显式的指明其类型,然后在自己做转换就好了。

如下面的代码,关键的方法就两个,一个是显式指明类型dtype=TYPE,一个是更改类型方法astype

a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]
df = pd.DataFrame(a, columns=['one', 'two', 'three'], dtype=object) # dtype=object
df
Out[16]: 
  one  two three
0   a  1.2   4.2
1   b   70  0.03
2   x    5     0

df.dtypes
Out[17]: 
one      object
two      object
three    object

df[['two', 'three']] = df[['two', 'three']].astype(float)

df.dtypes
Out[19]: 
one       object
two      float64
three    float64

转载请注明:Python量化投资 » python pandas 读取文件时指定字段类型/格式

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 看看您的博客!
    15470560752016-06-03 17:59 回复