首页 > 其他分享 >数据分析

数据分析

时间:2023-03-20 21:24:52浏览次数:38  
标签:数据分析 None plt False True 缺失 axis

  1. 浏览数据,查看列名
  2. 读取文件(内涵类 型转换)

numpy

Np.local(路径,allow_pickle=True)

 

  • pandas的

pd. read_

  • Excel(路径,*)  *header=0 列索引,index_col行索引,

sheet_name=0第几页表,

usecols= (str,[],true Falas)

 

skiprows=[1,2]跳过行skipcols=1跳过列

detype={'列名','类型如下'}

· int8/int16/int32/int64(默认):整型

·float16/float32/float64(默认):浮点型

.str/string:字符串

· bool:布尔

· category:分类

· datetime64[ns]:时间戳(纳秒)

.period[Y/M/D]:时间周期(年/月/日)

·object:python对象混合类型

parse_dates= *

True

[列序号,0,1,2,3,4,5]吧列转化为时间

[['序号',1,2,3]]拼接起来

{‘日期’:[1,2,   3]}

date_parser=lamad x:pd.to_datetime(

x,format='%y年,%m月,%d日'

)

  • csv(类似)乱码注意用encoding=gbk
  • 数据库

from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://root:root123ABC@@10.51.185.125:3306/lmq?charset=utf8')

 

转换列的类型

df.convert_dtypes()  转化不了的可能是源数据有问题

df[列].astype(类型名称) 转化为某种类型

  1. 文件合并,有关系的文件合并
    1. append()上下拼接  方法实现纵向堆叠有一个前提条件,就是两张表的列名完全一致。
    2. concat() 设置axis来实现0左右与1上下
    3. merge()某些相同的列合并在一起
    4. rolling()滚动求和操作
    5. expanding()向下求和
  • 分类groupby
  • 透视表
  • crosstab()
  • 双重索引:
  1. 时间转化为时间戳
  • 时间字符串转化为时间  pd.Timestamp()单个字符
  • 时间字符转化为时间列 pd.to_dateTime
  • 取时间用
  1. data['year'] = data.stop_datetime.dt.year
  2. join()左右拼接 pd.join(pd2)
  3. 数据整理
    1. 按索引排序 sort_index()
      1. DataFrame.sort_values(axis=0,level=None,ascending=True,inplace=False)
        1. level:若不为None,则对指定索引级别的值进行排序
        2. ascending:是都为升序排序,默认为True
        3. inplace:表示是否将排序的结果创建为新的实例,默认为False
        4. 按数据排序 sort_values()
          1. DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,na_position='last')
            1. by:表示参与排序的列
            2. na_position:此参数有两个值,first和last,若为first,则将NaN值放在开头,否则将放在最后。
            3. category类型:分类数据,可以理解成取值有限的,或者是固定数量的可能值。例如,性别,血型。
              1. describe方法除了支持传统数值型数据以外,还能够对category类型的数据进行描述性统计,

统计的4个统计量分别是:

  1. count(非空元素的数目)
  2. unique(类别的数目)
  3. top(数目最多的类别)
  4. freq(数目最多类别的数目)
  5. dt['**'].value_counts() 看一列的不同值的数量

 

 

  1. 数据清洗
    1. 判断缺失值(返回bool)
      1. df.insnull()
      2. df.notnull()
      3. 删除缺失值
        1. dropna()

dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

axis(过滤的行和列)0行1列

how(过滤标准 any 有一个缺失值就删除

( all 全是缺失值才删除

thresh(有效数据最小要求  至少有n个才保留

  1. .reset_index(drop=True)
    1. 重新排序
  2. 删除异常值
    1. dorp()
  3. 填充缺失值
    1. fillna()  

fillna(value=None, method=None, axis=None, inplace=False,limit=None, downcast=None, **kwargs)

  1. value 替换缺失值的元素
  2. method 填充方式    
    1. 取值为backfill或bfill时,表示使用下一个非缺失值来填补;
    2. 取值为pad或ffill时,表示使用上一个非缺失值来填补。
  3. limit  可以连续填充的最大数量,超过则不进行填补,默认None。

 

  1. 写入
  2. 画图
    1. Matplotlib

*补充 plt.rcParams['font.family']='SimHei' 正常显示中文

plt.rcParams['axes.unicode_minus']=False符号正常显示

*或者plt.title('sin曲线',fontproperties='SimHei',fontsize=20)

  1. 第一步 创建画布:plt.figure
    1. plt.figure语法: plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None, frameon=True)
      1. num:图像编号或名称,数字为编号 ,字符串为名称
      2. figsize:指定figure的宽和高,单位为英寸;
      3. dpi:参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80,1英寸等于2.5cm
      4. facecolor:背景颜色
      5. edgecolor:边框颜色
      6. frameon:是否显示边框

 

  1. 第二步 创建子图:plt.subplot
    1. plt.subplot(nrows,ncols,plot_number)  

#行  #列  #当前子图区

  1. 第四步 美化图形:plt.title、plt.xlabel、plt.ylabel、plt.legend、color、lines.linewidth、lines.linestyle、lines.marker、lines.markersize……
  2. 第五步 保存图形:plt.savefig
    1. plt.savefig('路径\例6')
  3. 第六步 显示图形:plt.show

 

 

 

 

  1. 第三步 制作图形:plt.plot、plt.barh、plt.hist、plt.pie、plt.scatter、plt.boxplot(箱线图)……
    1. plt.plot语法: plt.plot(x, y, format_string, **kwargs)
      1. x: X轴数据,列表或数组
      2. y: Y轴数据,列表或数组
      3. format_string:控制曲线的格式字符串(颜色字符、风格字符、标记字符组成)
      4. **kwargs:第二组或更多plt.plot(x, y, format_string)
      5. plt.scatter语法: plt.scatter (x, y, s, c, marker, alpha )
        1. x,y 表示xy轴对应的数据
        2. s 表示点的大小
        3. c 表示点的颜色
        4. marker 表示点的形状
        5. alpha 表示点的透明度
        6. plt.pie(x,explode=None,labels=None,autopct=None,startangle=None)
          1. x: 饼块的各个数据
          2. explode: 饼块离中心的距离(裂开autopct='%1.1f%%')
          3. labels: 饼块的标签
          4. autopct: 饼块中百分比数值的设置
          5. shadow: 饼图的阴影显示
          6. startangle: 起始绘图的角度

 

 

 

标签:数据分析,None,plt,False,True,缺失,axis
From: https://www.cnblogs.com/lmq886/p/17237835.html

相关文章

  • 深圳链家房价数据分析与可视化
    项目概述1.1目的和意义随着经济的发展,北、上、广、深这四大都市迅速发展,在经济、政治等方面有突出的表现,而且工作机会多,生活质量较高,是大多数人所向往的地方。想要在这......
  • 数据分析5
    importpandasaspdimportmatplotlib.pyplotaspltinputfile=r"C:\Users\admin\Documents\WeChatFiles\wxid_b0fz4hqogenr22\FileStorage\File\2023-03\original_data.......
  • 数据分析-商品零售购物篮关联规则模型
    查看数据特征importnumpyasnpimportpandasaspdinputfile='D:/人工智能&软件工程/数据挖掘与分析/data/GoodsOrder.csv'#输入的数据文件data=pd.read_......
  • 第四周——商品数据分析
    importpandasaspdinputfile1=r"D:\Weixin\WeChatFiles\wxid_cg9y4qd0yxhb22\FileStorage\File\2023-03\GoodsOrder.csv"inputfile2=r"D:\Weixin\WeChatFiles\w......
  • 数据分析第八章
    商品零售购物篮分析#%%查看数据特征importnumpyasnpimportpandasaspdinputfile=r"D:\py_project\a_三下\GoodsOrder.csv"#输入的数据文件data=pd.r......
  • 第四周数据分析
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltinputfile='E:/桌面/data/GoodsOrder.csv'data=pd.read_csv(inputfile,encoding='gbk',engi......
  • 商品数据分析
    importnumpyasnpimportpandasaspdinputfile='D://人工智能//GoodsOrder.csv'data=pd.read_csv(inputfile,encoding='gbk')data.info()data=data['id'......
  • 商品数据分析
    importnumpyasnpimportpandasaspdinputfile=r'C:\Users\admin\Desktop\新建文件夹\GoodsOrder.csv'#输入的数据文件data=pd.read_csv(inputfile,encodi......
  • 数据分析第8章实践
    importnumpyasnpimportpandasaspdinputfile='C:/Users/Lenore/Desktop/data/GoodsOrder.csv'data=pd.read_csv(inputfile,encoding='gbk')data.info()da......
  • Origin 2022【科学数据分析】中文破解版安装包下载及图文安装教程​
    Origin是由OriginLab公司全新开发的一款科学绘图、数据分析软件,能够为用户提供多样的数据统计、数据处理、数据报告等功能,是全球商业行业、学术界和政府实验室超过50万科......