zoukankan      html  css  js  c++  java
  • Pandas选择数据

    1、简单筛选

    >>> dates = pd.date_range('20130101', periods=6)
    >>> df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
    >>> print(df)
                 A   B   C   D
    2013-01-01   0   1   2   3
    2013-01-02   4   5   6   7
    2013-01-03   8   9  10  11
    2013-01-04  12  13  14  15
    2013-01-05  16  17  18  19
    2013-01-06  20  21  22  23
    
    >>> print(df['A'])
    2013-01-01     0
    2013-01-02     4
    2013-01-03     8
    2013-01-04    12
    2013-01-05    16
    2013-01-06    20
    Freq: D, Name: A, dtype: int32
    >>> print(df.A)
    2013-01-01     0
    2013-01-02     4
    2013-01-03     8
    2013-01-04    12
    2013-01-05    16
    2013-01-06    20
    Freq: D, Name: A, dtype: int32
    
    #选择跨越多行或多列
    >>> print(df[0:3])
                A  B   C   D
    2013-01-01  0  1   2   3
    2013-01-02  4  5   6   7
    2013-01-03  8  9  10  11
    >>> print(df['20130102':'20130104'])
                 A   B   C   D
    2013-01-02   4   5   6   7
    2013-01-03   8   9  10  11
    2013-01-04  12  13  14  15
    #如果df[3:3]将会是一个空对象。后者选择20130102到20130104标签之间的数据,并且包括这两个标签。

    2、根据标签loc筛选

    通过标签名字选择某一行数据, 或者通过选择某行或者所有行:代表所有行)然后选其中某一列或几列数据

    >>> print(df.loc['20130102'])
    A    4
    B    5
    C    6
    D    7
    Name: 2013-01-02 00:00:00, dtype: int32
    
    >>> print(df.loc[:,['A','B']])
                 A   B
    2013-01-01   0   1
    2013-01-02   4   5
    2013-01-03   8   9
    2013-01-04  12  13
    2013-01-05  16  17
    2013-01-06  20  21
    
    >>> print(df.loc['20130102',['A','B']])
    A    4
    B    5
    Name: 2013-01-02 00:00:00, dtype: int32

    3、根据序列iloc

    通过位置选择在不同情况下所需要的数据例如选某一个,连续选或者跨行选等操作。

    >>> print(df.iloc[3,1])
    13
    >>> print(df.iloc[3:5,1:3])
                 B   C
    2013-01-04  13  14
    2013-01-05  17  18
    >>> print(df.iloc[[1,3,5],1:3])
                 B   C
    2013-01-02   5   6
    2013-01-04  13  14
    2013-01-06  21  22

    4、混合loc、iloc两种的ix

    >>> print(df.ix[:3,['A','C']])
                A   C
    2013-01-01  0   2
    2013-01-02  4   6
    2013-01-03  8  10

    5、通过判断的筛选

    即可以采用判断指令 (Boolean indexing) 进行选择. 我们可以约束某项条件然后选择出当前所有数据.。

    >>> print(df[df.A>8])
                 A   B   C   D
    2013-01-04  12  13  14  15
    2013-01-05  16  17  18  19
    2013-01-06  20  21  22  23
  • 相关阅读:
    嵌入式开发之web服务器---boa移植
    图像处理之基础---去污算法
    图像处理之基础---傅里叶
    图像处理之基础---卷积
    图像处理之基础---各种滤波
    二维矩阵卷积运算实现
    图像处理之基础---卷积傅立叶变换中的复数
    图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子)
    Live555 中的客户端动态库.so的调用方式之一 程序中调用
    20个Flutter实例视频教程-01节底部导航栏和切换效果的制作-1
  • 原文地址:https://www.cnblogs.com/anhoo/p/9383790.html
Copyright © 2011-2022 走看看