# Python学习--Pandas

作者: Demafic | 来源:发表于2019-01-17 15:09 被阅读0次

    Pandas中的数据类型

    Pandas是基于两种数据类型:series和dataframe

    series是一种一维的数据类型。
    dataframe是一个二维的,表格型的数据结构类型。

    Pandas数据导入

    df = pd.read_csv('文件名/文件地址')
    

    如果,py文件与你要导入的文件在同一个文件夹,则只需要写明文件名即可,否则要详细写明文件的地址。

    其中,函数read_csv()中的参数重点是headerencoding
    header关键字告诉Pandas哪些是数据的列名如果没有则将它设为None,;
    encoding关键字通常在你数据集里有中文时加上,表明encoding='gkb',防止乱码。

    简单的数据查看

    df.head(x)
    #查看前x行的数据
    
    df.tail(x)
    #查看后x行的数据
    

    但是要注意使用tail函数时,不是从最后一行倒着显示的,而是按照数据原来的顺序显示的。

    简单的数据查找

    如果我们只对表中的一列或者几列感兴趣,那么我们只需利用列的标签就能轻松做到提取其中的一整列。

    df['列标签的名字']
    

    注意,当我们提取列时,最终得到的是一个series。

    同时我们可以利用条件不等式来得到我们希望看到的数据。
    如:

    df['xxx']<1000
    

    最终会返回一个dataframe。其中true表示符合条件,而False反之。
    同时,你也可以这么写:

    df[df['xxx']<1000]
    

    这得到的是满足条件的记录的所有数据。

    当然你也可以通过复合条件表达式来进行过滤:

    df[(df['xxx']<1000)&(df['yyy']>1000)]
    

    如果你的数据中含有字符串,那么你也可以使用字符串方法来进行过滤:

    df[df['Water Year'].str.startswith('xxx')]
    

    最终返回的是含有以xxx开头的字符串的记录的所有数据。

    索引

    我们也可以通过行标签来获得想要的行,获取行数据的方法是根据标签的类型而定的。

    如果你的行标签是数字型,那么你可以通过iloc来引用:

    df.iloc[30]
    

    如果你的数据集中含有年份或者年龄的列,可以通过这些年龄或年份来引用行,这时首先需要设置一个新的索引:

    df = df.set_index(['xxx'])
    

    其中,xxx为你想设置为索引的那一列的列名。

    由于我们设置的索引列中都是字符型数值,所以我们不能再使用iloc,而是用loc

    df.loc['2019/1']
    

    相关文章

      网友评论

        本文标题:# Python学习--Pandas

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