zoukankan      html  css  js  c++  java
  • 数据分析常用操作

    数据分析常用的基本操作

      1 Numpy
      2     np.array() 
      3         #数组的存储数据类型必须是统一的,如果不是统一的会按照 #str>float>int #转换为统一类型
      4         np.array([1,2,3]) #返回一个一维数组
      5         arry = np.array([[1,2,3],[1,1,1],[1,1,1]]) #返回二维数组
      6     
      7     arry.shape()
      8         arry.shape(arry) #传入一个数组 返回数组的形状
      9     
     10     np.full()
     11         np.full(shape=(5,6),fill_value = 55) #返回一个指定纬度的制定值的数组
     12     
     13     np.linspace()
     14         np.linspace(0,100,num=10) #返回一个指定区间等差数列 一维数组
     15     
     16     np.arange()
     17         np.arange(0,100,2) #返回一个指定区间的一维数组
     18         
     19     np.random.randint()    
     20         np.random.randint(0,100,size=(6,7)) #返回指定维度,指定区间的,随机数组
     21     
     22     np.random.seed()
     23         np.random.seed(10) #固定随机因子
     24         
     25     np.random.random()
     26         np.random.random(size=(4,5)) #返回0到1之间 ,指定维度的二维数组
     27     属性
     28         arry.ndim # 返回数组的形状
     29         
     30         arry.size  #返回数组的大小
     31         
     32         arry.dtype #返回数组元素的类型
     33 
     34     切片 
     35         #,左边是行 右边是列
     36         arr[0:2] #切前两行
     37         arr[:,0:2] 切前两列
     38         arr[::-1] #行倒叙
     39         arr[:,::] #列倒序
     40         
     41     变形
     42         #保证改变的形状要可以装的下原本形状
     43         arr1.reshape((4)) # 指定数组的形状
     44         arr1.reshape((2,-1)) #-1是计算机自己计算
     45         
     46     级联
     47         #0 是列 1是行
     48         #必须保证级联的 行/列 是一样的
     49         
     50         a1 = np.random.randint(0,10,size=(4,5))
     51         a2 = np.random.randint(0,10,size=(4,5))
     52         
     53         np.concatenate((a1,a2),axis=0)
     54         
     55     切分
     56         #0是行  1是列
     57         np.split(al,[2],axis=1)
     58         
     59            
     60     聚合
     61         0是列  1是行 不写是全部
     62         a1.sum(axis=0) #求每一列的和
     63         a1.sum() #求全部的和
     64     排序
     65         0是列 1是行
     66         np.sort(a1,axis=0) #每一列从小到大排序 返回新的数组
     67         a1.sort(axis=1) #没一行排序  映射会原数组
     68     
     69     
     70     
     71 
     72 Pandas
     73     导包
     74         impost pandas as pd
     75         from pandas import Series,DataFrame
     76         
     77     Series
     78         #Series必须是一维
     79         s1 = Series(data=[1,2,3,4,5]) #创建一个Series对象 隐式索引
     80         s1[0] #1
     81         s2 = Series(data=[1,2,3,4,5],index=['a','b','c','d','e') #创建一个Series对象 隐式索引 和显示索引
     82         s2['a'] #1
     83         
     84         a1[[1,2,3]] #1,2,3
     85         
     86         loc显示索引
     87         iloc 是隐私索引
     88         
     89         a['7'] = 7 增加一个值
     90         
     91         notnill  #值是nitll返回Flase
     92         isnill #值是nitll返回True
     93         
     94     DataFrame
     95         创建
     96         
     97             DataFrame(data=np.random.randint(60,120,size=(3,3),index=['a','b','c'],columns=['A','B','C'])
     98             #data 数据源   size 形状   index 行显示索引  columns 列显示索引
     99             #字典的 key是列索引
    100             dfc = {
    101                 '张三':[150,150,150],
    102                 '李四':[0,0,0,0]
    103             }
    104             
    105             DataFrame(data=dic)
    106         
    107         属性
    108             df.values() #显示数据源
    109             df.index() #返回行索引
    110             df.columns() #返回列索引
    111             df.shape() #返回DataFrame的形状
    112             
    113         修改索引
    114             df.index = ['','']修改行索引
    115             df.columns = ['',''] 修改列索引
    116         取值
    117             #中括号中显示索引 获取列
    118             df['lisi'] #获取列
    119             df[['lisi','张三']]#获取多列
    120             
    121             loc # 显示索引 ,左边是行 右边是列
    122             df.loc['语文'] #获取行
    123             
    124             iloc # 隐式索引 ,左边是行 右边是列
    125             df.iloc[0] #获取行的
    126              
    127             df.ioc[['理综','数学'],'张三'] #取得一列的多行 
    128             
    129             
    130         切片
    131             左边是行 右边是列 直接[]代表行
    132             df[0:2] #获取前两行
    133             
    134             df.iloc[:,0:2]  #获取前两列
    135              
    136             df.loc[:,'张三':'李四'] #显示索引切出前两列
    137             
    138             df['语文':'数学'] #显示索引取出前两行
    139             
    140         
    141              
    142         运算
    143             qizhong = df
    144             qimo = df
    145             
    146             qimo['张三'] = [145,140,150,138] #修改qimo中张三列的行成绩
    147             
    148         
    149             (qizhong + qimo)/2  #qizhong 加上 qimo 除与2
    150         
    151         
    152             qizhong.loc['数学',zhangsan] = 0 #取出张三列,的数学成绩全部改为0
    153             
    154         
    155         数据清洗
    156             all,any 1是行 0是列
    157             df.isnill #把所有的值以布尔值显示是nill的显示True
    158             df.isnill().any(axis=1) #any只要有true就显示true or
    159             df.isnill().all(axis=1) #全部是true就返回True否则返回Flse
    160             drop_index = df.loc[df.isnill().any(axis=1)].index #获取所有带有空值的行索引
    161             
    162             
    163             drop行是0 列是1
    164             df.drop(labels=drop_index,axis=0) #删除索引对应的行
    165             df.dropna(axis=0) #删除有空值的行
    166             
    167             
    168             filna 1是行 0是列
    169             df.filna(value=33) # 用333填充所有空值
    170             df.filna(method='bfill',axis=0) # 用列下面的值进行填充
    171             df.filna(method='ffill',axis=0) # 用列上面的值进行填充
    172             df.filna(method='ffill',axis=1) # 用行前面的值进行填充
    173             df.filna(method='bfill',axis=1) # 用行后面的值进行填充
    174         
    175 
    176 matplotlib
    177     plt.imread()
    178         img_arr = plt.imread('./cat.jpg') #返回一个图片对应维度的数组
    179         img_arr = img_arr - 50 #可以进行减法操作
    180 
    181     plt.imshow()
    182         plt.imshow(img_arr) #放入图片对应维度的数组显示图片
  • 相关阅读:
    原生,js,自执行函数的三种写法,及特性
    js延迟加载的六种方式
    antd table 合并行的方法
    css 常用样式antd design 中table,表格省略号处理的问题
    axios 中文文档
    js ,几张遍历,循环的方法
    javascript怎么保留两位小数
    Category(十九)
    Protocol(协议)(二十)
    Extension延展(十八)
  • 原文地址:https://www.cnblogs.com/xinjie123/p/11112777.html
Copyright © 2011-2022 走看看