美文网首页
[python][科学计算][pandas]简要使用教程2-数据

[python][科学计算][pandas]简要使用教程2-数据

作者: jiedawang | 来源:发表于2019-03-18 13:18 被阅读0次

    最后一次更新日期: 2019/3/17

    pandas是基于numpy的数据分析库,提供一些更易用的数据模型和大量高效的统计方法。

    使用前先导入模块:
    import pandas as pd
    按需导入以下模块:
    import numpy as np
    import matplotlib.pyplot as plt

    1. 数据类型

    pandas支持的数据类型就是numpy的数据类型,在创建数据模型时同样可通过dtype参数指定。

    常用的数据类型有:np.bool_(bool),np.int64(int),np.float64(float),np.datetime64(datetime),object(str等),pd.Categorical(category)。

    更详细的类型说明可查看numpy的使用指南。
    和numpy不太一样的是,numpy中int类型默认为np.int32,而pandas中默认np.int64;numpy中存储字符串优先采用定长的np.str_,而pandas中统一使用object

    pandas数据模型使用单个ndarray作为基础数据,所以当pandas的每列采用不同数据类型时,作为数据来源的ndarray整体被设置为object数据类型。

    2. 类型转换

    In [48]: df=pd.DataFrame([[1,'2'],[3,'a']],columns=['col1','col2'])
    
    In [49]: df.dtypes
    Out[49]: 
    col1     int64
    col2    object
    dtype: object
    
    In [50]: df.col1.astype('float')
    Out[50]: 
    0    1.0
    1    3.0
    Name: col1, dtype: float64
    
    In [52]: pd.to_numeric(df.col2,errors='ignore')
    Out[52]: 
    0    2
    1    a
    Name: col2, dtype: object
    
    In [53]: pd.to_numeric(df.col2,errors='coerce')
    Out[53]: 
    0    2.0
    1    NaN
    Name: col2, dtype: float64
    

    pandas和numpy一样主要使用astype进行类型转换,该方法返回转换后数据,需要在原数据上更改时可以用返回值去覆盖原数据。

    当需要进行一些可能会失败的转换时,可以考虑使用专用的方法,例如pd.to_numeric用于将一个Series转换为数字类型,errors参数可以指定对错误的处理方式:'coerce'表示强制转换,不能转换的元素会替换为NaN'ignore'表示存在无法转换的元素时会放弃转换。
    当需要对DataFrame整体应用转换时,可使用apply方法。

    相关文章

      网友评论

          本文标题:[python][科学计算][pandas]简要使用教程2-数据

          本文链接:https://www.haomeiwen.com/subject/zlyvmqtx.html