• Pandas学习笔记


    本学习笔记来自于莫烦Python,原视频链接

    一、Pandas基本介绍和使用

    Series数据结构:索引在左,值在右

    import pandas as pd
    import numpy as np
    s = pd.Series([1,3,6,np.nan,44,1])
    
    print(s)
    """
    0     1.0
    1     3.0
    2     6.0
    3     NaN
    4    44.0
    5     1.0
    dtype: float64
    """

    DataFrame数据结构:表格型数据结构,包含一组有序的列,每列的值类型可以是不同的。它既有行索引也有列索引,可以看做是Series组成的大字典。

    dates = pd.date_range('20160101',periods=6)
    df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
    print(df) """ a b c d 2016-01-01 -0.253065 -2.071051 -0.640515 0.613663 2016-01-02 -1.147178 1.532470 0.989255 -0.499761 2016-01-03 1.221656 -2.390171 1.862914 0.778070 2016-01-04 1.473877 -0.046419 0.610046 0.204672 2016-01-05 -1.584752 -0.700592 1.487264 -1.778293 2016-01-06 0.633675 -1.414157 -0.277066 -0.442545 """

    DataFrame的三种创建方法

    1. df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
      

       即指定了行与列的标签

    2. df1 = pd.DataFrame(np.arange(12).reshape((3,4))) 不指定行与列的标签,默认为从0开始生成index
    3. 对每一的数据进行特殊对待
    df2 = pd.DataFrame({'A' : 1.,
                'B' : pd.Timestamp('20130102'),
                        'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
                        'D' : np.array([3] * 4,dtype='int32'),
                        'E' : pd.Categorical(["test","train","test","train"]),
                        'F' : 'foo'})

    其中‘A’,‘B’等为列标签

    属性或方法

    功能

    df.dtypes 查看数据类型
    df.index 查看行名称
    df.columns 查看列名称
    df.values 查看所有df的值
    df.describe() 查看count,mean,std,min等数据总结
    df.T df的转置
    df.sort_index(axis=1,ascending=False) 对数据索引排序输出
    df.sort_values(by='column_name') 对数据值排序输出

     二、利用Pandas选择数据

    简单筛选

    #选择df中列名称为A的元素
    df.['A'] df.A
    #选择一到三行的数据
    df[0:3]

    通过pandas的内置函数筛选

    根据标签筛选 loc

    #通过标签选择数据,可以选择某几行或某几列
    #选择行标签为‘20130102’,列标签为‘A’或‘B’的数据 
    df.loc['20130102',['A','B']]

    根据位置筛选 iloc

    #选择行位置3-5,列位置1-3的数据
    df.iloc[3:5,1:3]
    #选择行位置为1,3,5,列位置为1-3的数据
    df.iloc[[1,3,5],1:3]

    根据标签和位置的混合筛选 ix

    #选择行位置为0-3,列名称为'A','C'的数据
    df.ix[:3,['A','C']]

    根据布尔表达式进行筛选

    #选出‘A’的值大于8的所有数据
    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
    '''
  • 相关阅读:
    Linux基础命令mv
    Linux基础命令cp
    闭包函数
    函数的嵌套
    函数对象
    global与nonlocal
    名称空间与作用域
    函数的参数(总结)
    函数的基本使用
    文件的操作之指针移动
  • 原文地址:https://www.cnblogs.com/AnnaJuly/p/9792276.html
Copyright © 2020-2023  润新知