zoukankan      html  css  js  c++  java
  • Pandas里面常用的一些数据分析函数总结

    import pandas as pd
    import numpy as np

    pandas 有两个主要的数据结构:Series 和 DataFrame;
    Series 是一个一维数组对象 ,它包含一组索引和一组数据,可以把它理解为一组带索引的数组。
    DataFrame 是一个表格型的数据结构。它提供有序的列和不同类型的列值。

    df:Pandas DataFrame对象
    s: Pandas Series对象

    数据导入:


      pd.read_csv(filename):从csv文件中导入数据;
      pd.read_table(filename):从限定分隔符的文本文件导入数据;
      pd.read_excel(filename):从Excel文件导入数据;
      pd.read_sql(query,connection_object):从SQL表/库中导入数据;
      pd.read_json(json_string):从JSON格式的字符串导入数据;
      pd.read_html(url):解析URLL,字符串或者HTML文件;
      pd.read_clipboard():从粘贴板获取内容;
      pd.DataFrame(dict):从字典对象导入数据;

    数据导出:

      df.to_csv(filename):导出数据到CSV文件;
      df.excel(filename):导出数据到EXCEl文件;
      df.to_sql(table_nname,connection_object):导出数据到SQL表;
      df.json(filename):以json格式导出数据到文本文件;

    创建对象:


      pd.DataFrame(np.random.rand(20,5)):创建20行5列的随即数组成的DataFrame对象;
      pd.Series(my_list):从可迭代对象my_list创建一个Series对象;
      df.index = pd.date_range('1900/1/30',periods=df.shape[0]):增加一个日期索引;

      index和reindex联合使用很有用处,index可作为索引并且元素乱排序之后,所以跟着元素保持不变,因此,当重排元素时,只需要对index进行才重排即可:reindex。

    数据查看:


      df.info():查看索引、数据类型和内存信息;
      df.tail():查看DataFrame对象的最后n行;
      df.shape():查看行数和列数;
      df.head():查看DataFrame对象的前n行;
      df.describe():查看数值型列的汇总统计;
      s.value_counts(dropna=False):查看Series对象的唯一值和计数;
      df.apply(pd.Seices.value_counts):查看DataFrame对象中每一列的唯一值和计数;

    数据选取:


      df[col]:根据列名,并以Series的形式返回列;
      df[[col1, col2]]:以DataFrame形式返回多列;
      s.iloc[0]:按位置选取数据;
      s.loc['index_one']:按索引选取数据;
      df.iloc[0,:]:返回第一行;

    数据清洗:

      df.columns = ['a','b','c']:重命名列名

      pd.isnull():检查DataFrame对象中的空值,并返回一个Boolean数组;

      pd.notnull():检查DataFrame对象中的非空值,并返回一个Boolean数组
      df.dropna():删除所有包含空值的行;

      df.fillna(x):用x替换DataFrame对象中所有的空值;

      s.astype(float):将Series中的数据类型更改为float类型;

      s.replace(1,'one'):用‘one’代替所有等于1的值
      df.rename(columns=lambda x: x + 1):批量更改列名;

      df.set_index('column_one'):更改索引列;

    数据处理:

      df[df[col] > 0.5]:选择col列的值大于0.5的行;
      df.sort_values(col1):按照列col1排序数据,默认升序排列;
      df.groupby(col):返回一个按列col进行分组的Groupby对象;

      df.groupby(col1).agg(np.mean):返回按列col1分组的所有列的均值;

      df.pivot_table(index=col1, values=[col2,col3], aggfunc=max):创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表;

      data.apply(np.mean):对DataFrame中的每一列应用函数np.mean

    数据合并:


      df1.append(df2):将df2中的行添加到df1的尾部
      df.concat([df1, df2],axis=1):将df2中的列添加到df1的尾部
      df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join

    数据统计:


      df.describe():查看数据值列的汇总统计;

      df.mean():返回所有列的均值

      df.corr():返回列与列之间的相关系数;

      df.count():返回每一列中的非空值的个数;

      df.max():返回每一列的最大值

      df.min():返回每一列的最小值;

      df.median():返回每一列的中位数;

      df.std():返回每一列的标准

    Pandas支持的数据类型:


      int 整型
      float 浮点型
      bool 布尔类型
      object 字符串类型
      category 种类
      datetime 时间类型

    其他:


      df.astypes: 数据格式转换
      df.value_counts:相同数值的个数统计
      df.hist(): 画直方图
      df.get_dummies: one-hot编码,将类型格式的属性转换成矩阵型的属性。比如:三种颜色RGB,红色编码为[1 0 0];

    后面会继续更新

  • 相关阅读:
    机器学习(深度学习)
    机器学习(六)
    机器学习一-三
    Leetcode 90. 子集 II dfs
    Leetcode 83. 删除排序链表中的重复元素 链表操作
    《算法竞赛进阶指南》 第二章 Acwing 139. 回文子串的最大长度
    LeetCode 80. 删除有序数组中的重复项 II 双指针
    LeetCode 86 分割链表
    《算法竞赛进阶指南》 第二章 Acwing 138. 兔子与兔子 哈希
    《算法竞赛进阶指南》 第二章 Acwing 137. 雪花雪花雪花 哈希
  • 原文地址:https://www.cnblogs.com/csushl/p/10034176.html
Copyright © 2011-2022 走看看