美文网首页
DataFrame基础

DataFrame基础

作者: Chaweys | 来源:发表于2020-11-20 08:55 被阅读0次

    '''
    什么是DataFrame?
    DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。
    DataFrame既有行索引也有列索引,它可以被看做由series组成的字典(共用同一个索引)。
    可以看作是一张表。
    '''
    
    #coding=utf-8
    import pandas as pd
    import numpy as np
    
    #创建DataFrame(两种方式)
    #方式一:np.array()创建
    arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
    df = pd.DataFrame(arr)
    print(df)
    '''
       0  1  2
    0  1  2  3
    1  4  5  6
    2  7  8  9
    '''
    
    #指定行索引和列索引
    df = pd.DataFrame(arr,index=['a','b','c'],columns=['d','e','f'])
    print(df)
    '''
       d  e  f
    a  1  2  3
    b  4  5  6
    c  7  8  9
    '''
    
    
    #方式二:字典方式创建
    dicts={"state":{0:"ohio",1:"ohio",2:"ohio",3:"nevada",4:"nevada"},
           "year":{0:2000,1:2001,2:2002,3:2001,4:2002},
           "pop":{0:1.5,1:1.7,2:3.6,3:2.4,4:2.9}
           }
    df2 = pd.DataFrame(dicts)
    print(df2)
    '''
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    '''
    
    #DataFrame查看数据head()查看头数据
    print(df2.head())
    '''
    head()未传参,默认查看前五行
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    '''
    
    print(df2.head(2))
    '''
    head(2)查看前两行
       pop state  year
    0  1.5  ohio  2000
    1  1.7  ohio  2001
    '''
    
    print(df2.head(3))
    '''
    head(3)查看前三行
       pop state  year
    0  1.5  ohio  2000
    1  1.7  ohio  2001
    2  3.6  ohio  2002
    '''
    
    #DataFrame查看数据tail()查看尾数据
    print(df2.tail())
    '''
    tail()未传参,默认查看所有
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    '''
    
    print(df2.tail(2))
    '''
    tail(2)查看尾部两行
       pop   state  year
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    '''
    
    print(df2.tail(3))
    '''
    tail(3)查看尾部三行
       pop   state  year
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    '''
    
    print(df2.info())
    '''
    info()查看数据结构即存储信息
    
    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 5 entries, 0 to 4
    Data columns (total 3 columns):
    pop      5 non-null float64
    state    5 non-null object
    year     5 non-null int64
    dtypes: float64(1), int64(1), object(1)
    memory usage: 160.0+ bytes
    None
    '''
    
    #describe()查看数据按列的方式的统计结果信息
    print(df2.describe())
    '''
    describe()查看数据按列的方式的统计结果信息
    
                pop        year
    count  5.000000     5.00000   总数
    mean   2.420000  2001.20000   平均值
    std    0.864292     0.83666   标准差
    min    1.500000  2000.00000   最小值
    25%    1.700000  2001.00000   分位数(有25%的数据小于该值)
    50%    2.400000  2001.00000   分位数(有50%的数据小于该值)
    75%    2.900000  2002.00000   分位数(有75%的数据小于该值)
    max    3.600000  2002.00000   最大值
    '''
    
    #mean()求每列的平均值
    print(df2.mean())
    '''
    pop        2.42
    year       2001.20
    dtype:     float64
    '''
    
    #median()求得每列的中位数
    print(df2.median())
    '''
    pop        2.4
    year       2001.0
    dtype:     float64
    '''
    
    
    #df2.index获取行级索引
    print(df2.index)
    #结果:Int64Index([0, 1, 2, 3, 4], dtype='int64')
    
    #df2.columns获取列级索引
    print(df2.columns)
    #结果;Index(['pop', 'state', 'year'], dtype='object')
    
    
    #DataFrame的转置:行和列进行转置
    print(df2.T)
    '''
              0     1     2       3       4
    pop     1.5   1.7   3.6     2.4     2.9
    state  ohio  ohio  ohio  nevada  nevada
    year   2000  2001  2002    2001    2002
    '''
    
    
    #DataFrame排序:sort_index(),按照索引来排序
    #sort_index(axis=0)按照行索引排序0 1 2 3 4
    print(df2)
    print(df2.sort_index(axis=0))
    print(df2.sort_index(axis=0,ascending=False)) #降序
    '''
    df2:
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    
    sort_index(axis=0)
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    
    sort_index(axis=0,ascending=False
    4  2.9  nevada  2002
    3  2.4  nevada  2001
    2  3.6    ohio  2002
    1  1.7    ohio  2001
    0  1.5    ohio  2000
    
    '''
    
    #sort_index(axis=1)按照列索引排序
    print(df2.sort_index(axis=1))
    print(df2.sort_index(axis=1,ascending=False))  #降序排序
    '''
    sort_index(axis=1)
       pop   state  year
    0  1.5    ohio  2000
    1  1.7    ohio  2001
    2  3.6    ohio  2002
    3  2.4  nevada  2001
    4  2.9  nevada  2002
    
    sort_index(axis=1,ascending=False)
       year   state  pop
    0  2000    ohio  1.5
    1  2001    ohio  1.7
    2  2002    ohio  3.6
    3  2001  nevada  2.4
    4  2002  nevada  2.9
    '''
    
    

    相关文章

      网友评论

          本文标题:DataFrame基础

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