pandas选择数据

作者: Kkite | 来源:发表于2019-04-27 00:20 被阅读11次
    aiblog7.jpg

    在此附上视频链接,想具体了解的朋友可以看看。

    一、引入第三方库

    首先我们引入numpy与pandas第三方库,如果没有安装的同学可以在命令行中pip install numpy 或 pip install pandas 进行安装

    import numpy as np
    import pandas as pd
    
    二、需要用到的一组数据
    dates = pd.date_range('20190424', periods=6)
    df = pd.DataFrame(np.arange(24).reshape((6, 4)), index=dates, columns=['A', 'B', 'C', 'D'])
    
    print(df)
    
    先打印出这组数据,效果如下: pandas01.png

    三、一般选择选择方法(行列)

    a.选择某一列

    print(df[''A]) # 选择A这列
    # 或者 print(df.A) 效果同上

    b.切片选择

    如下选择[0:3]行打印出来
    print(df[0:3])
    如下选择['20190425': '20190426']打印出来
    print(df['20190425': '20190426'])

    代码如下:

    import pandas as pd
    import numpy as np
    
    dates = pd.date_range('20190424', periods=6)
    df = pd.DataFrame(
        np.arange(24).reshape((6, 4)),
        index=dates, columns=['A', 'B', 'C', 'D']
    )
    
    print(df)
    print('\n选择A列\n', df['A'])
    print('\n切片选择区间[0:3]\n', df[0:3])
    print("\n切片选择区间['20190425': '20190427']\n", df['20190425': '20190426'])
    
    打印效果如下: pandas02.png

    三、用标签或者行号进行筛选

    1.通过标签进行选择

    选择20190425这一行
    print(df.loc['20190425'])
    所有的行都保留,筛选出 'A','B'这两列的数据
    print(df.loc[:, ['A', 'B']])

    代码如下:

    import pandas as pd
    import numpy as np
    
    dates = pd.date_range('20190424', periods=6)
    df = pd.DataFrame(
        np.arange(24).reshape((6, 4)),
        index=dates, columns=['A', 'B', 'C', 'D']
    )
    
    print(df)
    print('\n选择20190425这一行')
    print(df.loc['20190425'])
    
    print("\n筛选出行为'20190424'列为'A','C'的数据")
    print(df.loc['20190424',['A', 'B']])
    
    print("\n所有的行都保留,筛选出 'A','B'这两列的数据")
    print(df.loc[:, ['A', 'B']])
    
    打印效果如下: pandas03.png

    2.通过位置进行选择

    打印出第三行:
    print(df.iloc[3])
    第三行的第一位
    print(df.iloc[3, 1])
    切片选择 3:5行 1:3列
    print(df.iloc[3:5, 1:3])
    不连续筛选
    print(df.iloc[[1, 3, 5], 1:3])

    代码如下:

    import pandas as pd
    import numpy as np
    
    dates = pd.date_range('20190424', periods=6)
    df = pd.DataFrame(
        np.arange(24).reshape((6, 4)),
        index=dates, columns=['A', 'B', 'C', 'D']
    )
    
    print(df)
    print('\n打印出第三行:')
    print(df.iloc[3])
    print("\n第三行的第一位")
    print(df.iloc[3, 1])
    print("\n切片选择  3:5行 1:3列")
    print(df.iloc[3:5, 1:3])
    
    打印效果如下: pandas04.png

    四、条件筛选(进行True或False的筛选)

    筛选出A这列大于8的数(会打印出符合条件的这行,可以参照效果图理解)
    print(df[df.A > 8])
    代码如下:

    import pandas as pd
    import numpy as np
    
    dates = pd.date_range('20190424', periods=6)
    df = pd.DataFrame(
        np.arange(24).reshape((6, 4)),
        index=dates, columns=['A', 'B', 'C', 'D']
    )
    
    print(df)
    print('\n筛选出A这列大于8的数(会打印出符合条件的这行,可以参照效果图理解)')
    print(df[df.A > 8])
    
    打印效果图如下: pandas05.png

    谢谢大家, 这里是这次的分享,如果有难理解的可以对照打印效果图进行理解,如果有需要了解更多相关知识的话可以看看我之前的博文或关注我的博客,谢谢大家。
    欢迎大家在下方评论与留言或者给出建议,如有错误请指出。希望这篇博文能帮助到大家,也欢迎大家分享给需要的人。

    如需转载,请注明出处。

    相关文章

      网友评论

        本文标题:pandas选择数据

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