数据分析-01

数据处理:(主要使用的模块为:pandas、numpy)

  1.数据的存在形式:文件和数据库

  文件的存在形式分为:Csv(用,分割列的文本),Excel,Txt

  (1)read_table导入文本文件  

      read_table(file,names=[列名],sep="",encoding)

      names列名,默认为文件的第一行作为列名

      sep分隔符,默认为空,表示默认导入为一列

      encoding文件编码,导入中文时设置utf-8

  (2)read_excel导入Excel文件

      read_excel(file,sheetname,header)

      sheetname列名

  (3)read_csv导入csv文件

      read_csv(file,encoding)

  2.数据的导出

   (1)to_csv(filepath,sep,index = True,header = True)

  3.缺失数据的处理

    (1)数据补齐

    (2)删除对应的缺失行

    (3)不处理

    1.dropna函数:去除数据结构中值为空的数据

    使用方法:df = read_csv()

         new_df = df.dropna()

    2.strip函数:清除字符型数据左右的空格

    使用方法:new_name = df["name"].str.strip()

    3.字段抽取:根据已知列数据的开始结束位置,抽取新的列

    slice函数:字段截取函数slice(start,end)

    4.split函数:按固定的字符,拆分已有的字符串

    split(sep,n,expand = False)

      sep:用于分割的字符串

      n: 分割为多少列

      expand:是否展开为数据框,默认为False

    如果expand为True,返回DataFrame,如果为False,返回Series

    

    5.记录抽取

      1.比较运算:df[df.comments > 10000]

      2.范围运算:between(left,right)

        df[df.comments.between(100,1000)]

      3.空值匹配:pandas.isnull(column)

        df[pandas.isnull(df.title)]

      4.字符匹配:str.contains(patten,na = False)

        df[df.title.contains('台电',na = False)]

      5.逻辑运算:与或非&,|,not

   4.随机抽样

      随机抽样函数:numpy.random.randint(start,end,num)    

   5.记录合并:concat([dataFrame1,dataFrame2,....]) -->之前的爬取nba球员信息就可以这样合并

      将两个数据结构相同的数据框,合并成一个数据框

      dataFrame1,dataFrame2,为数据框

      返回值:数据框

  

   6.字段合并:将同一个数据框中的不同列,进行合并,形成新的列

      直接使用"+":

      条件:列数得一样,得是字符型的数据

      返回序列

  

     7.字段匹配:不同结构的数据框,按照一定的条件进行合并

      merge(x,y,left_on,right_on)

      x:第一个数据框

      y:第二个数据框

      left_on:第一个数据框用于匹配的列

      right_on:第二个数据框用于匹配的列

      返回值:DataFrame

  

   8.简单的计算:

      

   9.数据标准化:数据按比例缩放,使之落到特定的区间

     x* = x - min/ max - min

   10.数据分组:按照一定的数值指标,把数据分析对象划分为不同的区间来进行研究

     cut(series,bins,right = True,labels = Null)

     series:需要分组的数据

     bins:分组的划分数组 -->例如 bins = [min(df.cost)-1,20,40,60,max(df.cost)+1]

     right:分组的时候,右边是否闭合(默认闭合)

     labels:分组的自定义标签 --> 例如 labels = ["20以下","20到40"....]

   11.日期转换:date = to_datetime(dateString,format)

      format = "%y/%m/%d"  %H小时,%M分钟,%S秒

   

   12.日期格式化:日期型的数据,按照给定的格式,转为字符型的数据

      apply(lambda x:处理逻辑)

      datetime.strftime(x,format)

    

   13.日期抽取:datetime列.dt.property

       df_dt = to_datetime(df.time,format= "%y/%m/%d")

       df_dt.dt.year显示年份

       df_dt.dt.month显示月份                  

      

    

猜你喜欢

转载自www.cnblogs.com/FlowerNotGiveYou/p/11639145.html