python数据分析1

python中常用与数据分析的函数

pandas库

  1. data.describe() 方法
      返回一个表格用于描述这个 DataFrame中每一列数据的信息,常用于数据预处理。

  2. pd.to_datetime( )
    获取指定的日期和时间
    在这里插入图片描述
    在这里插入图片描述
      完成了时间的设置之后,便可以使用.dt.year和.dt.month和.dt.day来获取月份和日期

  3. .drop方法
    删除选定的行或列
    方法:.drop(labels=None, axis=0, index=None, columns=None,level=None, inplace=False, errors=‘raise’)
    labels:一个字符或者数值,加上axis ,表示带label标识的行或者列;如 (labels=‘A’, axis=1) 表示A列
    axis:axis=0表示行,axis=1表示列
    columns:列名
    index:表示dataframe的index, 如index=1, index=a
    inplace:True表示删除某行后原dataframe变化,False不改变原始dataframe

  4. .to_csv方法
    .to_csv()
    路径 path_or_buf:
    dt.to_csv(‘Result.csv’) #相对位置,保存在getwcd()获得的路径下
    dt.to_csv(‘C:/Users/think/Desktop/Result.csv’) #绝对位置
    分隔符 sep :
    dt.to_csv(‘C:/Users/think/Desktop/Result.csv’,sep=’?’)
    #使用?分隔需要保存的数据,如果不写,默认是,
    替换空值 na_rep:
    dt.to_csv(‘C:/Users/think/Desktop/Result1.csv’,na_rep=‘NA’)
    #确实值保存为NA,如果不写,默认是空
    格式 float_format:
    dt.to_csv(‘C:/Users/think/Desktop/Result1.csv’,float_format=’%.2f’)
    #保留两位小数
    是否保留某列数据 cols:
    dt.to_csv(‘C:/Users/think/Desktop/Result.csv’,columns=[‘name’])
    #保存索引列和name列
    是否保留列名 header:
    dt.to_csv(‘C:/Users/think/Desktop/Result.csv’,header=0)
    #不保存列名
    是否保留行索引 index:
    dt.to_csv(‘C:/Users/think/Desktop/Result1.csv’,index=0)
    #不保存行索引
    注:带有中文的文件要加encoding='gbk’编码

  5. .unique()方法
    用于统计DataFrame中非重复的值,返回一个ndarray结构

  6. .tolist()方法
    将数组或者矩阵转换成列表

  7. . sort_values()方法

      用于在DataFrame中排列的函数,既可以根据列数据,也可根据行数据排序。

      注意:必须指定by参数,即必须指定哪几行或哪几列;无法根据index名和columns名排序(由.sort_index()执行)
    DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’)

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

  8. 数据分组形成透视表

      使用函数data.groupby(by=[“索引名称”])(可以指定多个索引,data是一个DataFrame数据结构

      返回一个Groupby对象,还没有进行任何的运算(不能直接输出)可以通过 .describe() 方法进行查看。

      查看发现生成的表是有多层行索引的汇总表(行索引的层数取决于在by中指定的索引个数),可以对该表使用函数进行运算:
    在这里插入图片描述
      而后可以使用.unstack()方法将某一级行索引转换为列索引,使表格展开便于处理

  9. 函数形成透视表

    使用方法或函数均可
    DataFrame.pivot_table(data, values=None, index=None, columns=None,
    aggfunc=‘mean’, fill_value=None, margins=False,
    dropna=True, margins_name=‘All’)

    index : 透视表的行索引,必要参数,如果我们想要设置多层次索引,使用列表[ ]
    values : 对目标数据进行筛选,默认是全部数据,我们可通过values参数设置我们想要展示的数据列
    columns :透视表的列索引,非必要参数,同index使用方式一样
    aggfunc :对数据聚合时进行的函数操作,默认是求平均值,也可以sum、count等
    margins :额外列,在最边上,默认是对行列求和
    fill_value : 对于空值进行填充
    dropna : 默认开启去重

matplotlib.pyplot库

  1. 文本显示函数
    plt.xlabel():对x轴增加文本标签
    plt.ylabel():同理
    plt.title(): 对图形整体增加文本标签
    plt.text(): 在任意位置增加文本
    plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict) 在图形中增加带箭头的注解。s表示要注解的字符串是什么,xy对应箭 头所在的位置,xytext对应文本所在位置,arrowprops定义显示的属性

  2. 绘图函数
    plt.plot(x,y , fmt) :绘制坐标图
    plt.boxplot(data, notch, position): 绘制箱形图
    plt.bar(left, height, width, bottom) : 绘制条形图
    plt.barh(width, bottom, left, height): 绘制横向条形图
    plt.polar(theta, r): 绘制极坐标图
    plt.pie(data, explode) : 绘制饼图
    plt.scatter(x, y) :绘制散点图
    plt.hist(x, bings, normed) : 绘制直方图

  3. 字体设置
      画图一定要设置字体,否则中文将无法显示,运用函数:
    plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
    将字体设置为微软雅黑

  4. 一次性绘制多个图像

    plt.subplot(3,2,4):

      分成3行2列,共6个绘图区域,在第4个区域绘图。排序为行优先。也可 plt.subplot(324),将逗号省略。

  5. 设置x轴,y轴的起始终止范围

    plt.axis([-1, 10, 0, 6]) :
    x轴起始于-1,终止于10 ,y轴起始于0,终止于6

  6. 显示图例函数
    plt.legend()

  7. 绘制柱状图
    运用函数
    plt.bar(x, height, width=0.8, bottom=None, , align=‘center’, data=None, kwargs*)
    x表示有多少根柱子
    在这里插入图片描述

  8. 绘制折线图
    函数plt.plot(x, y)

  9. 绘制散点图(气泡图)

    函数plt.scatter(x, y, s, c, label, alpha)
    x:横坐标轴数据
    y:纵坐标轴数据
    s:对应各个气泡的大小
    c:对应各个气泡的颜色
    label:数据标签
    alpha:气泡透明度(0-1)

其他函数

  1. round()函数
    第一个参数是输入的变量,第二个参数是要保留的位数

  2. 热力图的绘制(Seaborn库)
    先import seaborn as sns
    使用函数:

    Seaborn.heatmap
    (data, vmin=None, vmax=None, camp=None,center=None, robust=False, annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels=’auto’ ,yticklabels=’auto’, mask=None, ax=None, kwargs)


    data: 矩阵数据集,可以是numpy的数组(array),也可以是pandas的DataFrame。如果是DataFrame,则df的index/column信息会分别对应到heatmap的columns和rows,即pt.index是热力图的行标,pt.columns是热力图的列标。

    vminvmax:分别是热力图的颜色取值最大和最小范围,默认是根据data数据表里的取值确定。

    camp:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表,如果没有提供,默认值将取决于是否设置了center。

    center:数据表取值有差异时,设置热力图的色彩中心对齐值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变 。

    robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定。

    annot(annotate的缩写):默认取值False;如果是True,在热力图每个方格写入数据;如果是矩阵,在热力图每个方格写入该矩阵对应位置数据

    fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字 。

    annot_kws:默认取值False;如果是True,设置热力图矩阵上数字的大小颜色字体,matplotlib包text类下的字体设置。
    其他参数见参考文章

    设置完成后,再使用plt.show()函数进行展示

  3. .tolist() 方法
      将数组、矩阵、等对象转换为列表
      常用结构.tolist()[0],将dataframe中通过索引而得出的某个具体元素,将其从object格式中拿出来进行使用

  4. 归一化函数:preprocessing.minmax_scale(X)
      使用前先from sklearn import preprocessing,X通常是DataFrame中的某一列。函数返回一个ndarray结构,可以对其处理再替代原有的值,或新生成一个DataFrame。
      函数默认将数据中的最大值设为 1

参考文章

python中groupby函数详解
Seaborn绘制热力图
Pandas数据处理之数据透视表
数据预处理

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值