美文网首页pandas 必知必会
pandas新手入门教程二

pandas新手入门教程二

作者: 人工智能人话翻译官 | 来源:发表于2019-05-07 18:08 被阅读153次

    📚接上文。

    初识DataFrame

    pd处理数据一般用两种数据结构Series和DataFrame,来看看DataFrame。DataFrame是2维表格结构,带有标签,大小可变,且可以包含异构的数据列。

    df1 = pd.DataFrame(np.arange(9).reshape(3,3))
    df1
    

    输出:


    df的输出
    df2 = pd.DataFrame(np.arange(9).reshape(3,3), index=["Mon","Tue","Wed"], columns=['store1', 'store2', 'store3'])
    df2
    

    输出:

    image.png

    这玩意可以看做是多个Series的组合。DataFrame的不同列可以是不同的数据类型,如果以Series数组来创建DataFrame,每个Series将成为一行,而不是一列。

    store_series = pd.Series([100, 200, 150])
    week_series = pd.Series(['Mon', 'Tue', 'Wed'])
    df3 = pd.DataFrame([store_series, week_series])
    df3
    

    输出


    df3示意图

    访问 DataFrame

    通过上面学习到的方法构建df3

    store_series = pd.Series([100, 200, 150])
    week_series = pd.Series(['Mon', 'Tue', 'Wed'])
    df3 = pd.DataFrame([store_series, week_series])
    df3[0]
    

    可以以df[column标识]的方式进行访问数据。df3[3]输出df3的第一个column.

    0    100
    1    Mon
    Name: 0, dtype: object
    

    可以使用df3[column][row]的方式进行更精准的访问

    df3[0][1]
    

    输出:返回第一列,第二行的数据

    'Mon'
    

    看起来有点反直觉啊,为啥column在前面呢?我不习惯,不喜欢,我就要row在前面。
    也可以啊,使用DataFrame.iloc如下:

    df3.iloc[[0,1], [0,2]]
    

    输出

        0   2
    0   100 150
    1   Mon Wed
    

    除此之外还可以通过标识的方式访问,什么标识?他和索引有什么不同?
    我们之前构建的df2还记得吗?

    df2
    

    输出

        store1  store2  store3
    Mon 0   1   2
    Tue 3   4   5
    Wed 6   7   8
    
    标识示意图

    可以通过DataFrame.loc来访问

    df2.loc[["Mon", "Wed"], ['store1', 'store3']]
    

    输出

        store1  store3
    Mon 0   2
    Wed 6   8
    

    明天将带你进行更复杂的操作。赶紧操练起来吧!~

    相关文章

      网友评论

        本文标题:pandas新手入门教程二

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