zoukankan      html  css  js  c++  java
  • dataframe基础

    1 当不知道dataframe的列名,但想要输出该列时,可用iloc()函数实现.

    import pandas as pd
    
    a = pd.DataFrame({'k':[3,4,5,6],
                      'b':[4,4,2,3],
                      'c':[4,5,6,3]})
    print(a.iloc[:,0])
    # 0    4
    # 1    4
    # 2    2
    # 3    3
    # Name: b, dtype: int64
    View Code
    import pandas as pd
    
    a = pd.DataFrame({'k':[3,4,5,6],
                      'b':[4,4,2,3],
                      'c':[4,5,6,3]})
    privdsgadhgxhbfgqafehbgfagag 爱共和国  

    2 dataframe查看每一列是否有缺失值

    1 temp = data.isnull().any() #列中是否存在空值
    2 print(type(temp))
    3 print(temp)  #若为False,则无缺失值,为True,则有缺失值

    3 dataframe 更换列名和添加列名
    a.  更换所有的列名  如下将1,2,3的列名全部更换

    事实上不需要这么复杂,直接即不需要程序的第一行,直接第二行也可以。前提是赋的列的个数与列数要相等。

    参考:https://www.cnblogs.com/hhh5460/p/5816774.html  https://www.cnblogs.com/harvey888/p/6006178.html

    1 df=df[[0,1,2,3,4,5,6,7,10]]
    2 df.columns=['id','ggid','createtime','sccc','gghyid','sptype','spid','ggzhid','price']
    3 print(ad_operation.columns) # 输出所有列名,注意加s

    b. 更换特定列名 https://www.cnblogs.com/hhh5460/p/5816774.html 

    c. 添加大量空列的方法,当用apply()函数处理dataframe的行时,有时会返回多个值,这时需要添加空列来容纳这些值。

    方法: 先新建一个dataframe,只赋列名,再将两个表格融合即可

    kkk = pd.DataFrame(columns=['a','s','lsadfk'])
    rrr = pd.merge( left= a, right= kkk, on = ['a'], how= 'left')

    4 dataframe获取定位特定元素

    注意第一个必须是列名,否则报错

    print(ad_operation['ggid'][5])
    print(ad_operation[['ggid','bid']])  # 当要输出两列值时,要加[]

    5 df是dataframe的数据,df.shape表示的dataframe的行列,df.shape[0]是行数,df.shape[1]是列数,df.shape[2]无效

    6 dataframe定位行的方法  iloc()是按照index的序值. loc()是按照index的具体值

    http://www.cnblogs.com/qingyuanjushi/p/6085307.html

    7 dataframe按某一列的条件删除整行的方法

    如下使用isin()函数,加上~时表示包含在isin()的删除,否则留下

    isin()括号里面应该是个list

    1 m = chengji[~chengji['mes_Score'].isin([0, -1, -2, -3])]
    2 n = m[~m['mes_sub_name'].isin(['数学','英语','语文'])]

    8 dataframe删除某一列的重复元素,默认只留下第一次出现的

     test_sample_quchong = test_sample.drop_duplicates(['ggid'])利用 data.drop_duplicates()#data中一行元素全部相同时才去除可检查dataframe是否有重复的行
     参考:   https://www.cnblogs.com/mahailuo/p/8317178.html
    9 dataframe删除某一列或几列
    huaxue.drop(['mes_sub_name','mes_sub_id'], axis=1, inplace=True) # inplace为True时,直接在原数据上修改

    参考:https://blog.csdn.net/songyunli1111/article/details/79306639

    10 sort_value()函数

    参数: by要与axis对应,axis=0时by中为列名,axis=1时by为行名。

    ascending控制升序降序,True为升序,False为降序。

    1 ## 参数    
    2 DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')  
    3 #### 参数说明    
    4 axis:{0 or ‘index’, 1 or ‘columns’}, default 0,默认按照索引排序,即纵向排序,如果为1,则是横向排序    
    5 by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名"6 ascending:布尔型,True则升序,可以是[True,False],即第一字段升序,第二个降序  
    7 inplace:布尔型,是否用排序后的数据框替换现有的数据框  
    8 kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心  
    9 na_position : {‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面  

    参考: https://blog.csdn.net/wendaomudong_l2d4/article/details/80648633

    11 DataFrame.info()

    可以输出读入表格的一些具体信息。这对于加快数据预处理非常有帮助。

    参考:https://blog.csdn.net/sinat_35512245/article/details/79685891

    12 shape用法

    df是一个dataframe,df.shape输出的是df的行列,df.shape[0]是行数,df.shape[1]是列数,没有df.shpae[2]。

    13 value_counts()

    用于统计dataframe某一列不同数据的出现次数,其只能统计某一列的,不能整体统计。与unique()函数功能类似,但前者返回的是一个无重复元素的series,并且有series的长度和类型。后者返回的是一个ndarray。

    如下计算abc列不同值出现的次数。

    print(alldata.abc.value_counts())
    print(alldata['abc'].value_counts()) # 这种写法会报错

    14 四分位数的求法

    nums是list,如下会将list中的数排序后,输出四分位数和中位数.

    import numpy as np
    np.percentile(nums, (25, 50, 75), interpolation='midpoint')

     15 dataframe显示问题,当输出的表格列太多,或元素太长想要显示时,在开头加上即可.

    #显示所有列
    pd.set_option('display.max_columns', None)
    #显示所有行
    pd.set_option('display.max_rows', None)
    #设置value的显示长度为100,默认为50
    pd.set_option('max_colwidth',100)
    #
    pd.set_option('display.width',1000)
    
    









  • 相关阅读:
    vue router路由懒加载
    vue router动态路由
    vue router路由跳转
    vue router-link属性
    vue router mode
    vue router
    vuecli脚手架
    R读取大文件速度太慢?来试试能提速两千倍的fread
    基于RAINBOW的单倍型全基因组关联分析(haplotype-based GWAS)教程
    今日Vlog:Jmeter中那些循环
  • 原文地址:https://www.cnblogs.com/xxswkl/p/10754416.html
Copyright © 2011-2022 走看看