您的位置:首页 > 其它

pandas学习笔记

2019-03-10 11:48 176 查看

这是小白的第三篇博客,今天小白来学习一下python中的pandas数据分析包,这是参考链接以及十分钟了解pandas

pandas介绍
就理解为一个工具包,包含大量库和一些标准的数据模型,基于numpy的一种工具,用来解决数据分析而提供了大量处理数据的函数和方法。python数据分析高层次应用库

series = 索引 + 一维数组
DataFrame = 行列索引 + 二维数据

介绍数据结构
关于数据类型、索引和轴标记/对齐的基础操作适用于所有对象。首先,和小白一起导入numpy和pandas

import numpy as np
import pandas as pd

要记住的是数据对齐在内部,不会破坏标签和数据间的链接(除非你明确要断开链接)

  1. Series:
    一维数组,可以保存任何数据类型(整数、字符串、浮点数、其他)。可以理解为list,但是只能存储相同的数据类型,用法: s = pd.Series(数据,index = 需要传递的索引标签)
    Series还可以有名字,还可以重命名,如下图中s和s1是不同的哦

    Time-Series以时间为索引的Series

  2. dict:
    字典,Series可以被dict实例化,需要注意的是当数据是dict时,如果没有传递索引,索引将按照dict的插入顺序

  3. scalar value标量值:
    当数据是一个标量值时必须有索引,并且它会重复该值来匹配索引的长度

  4. DataFrame:
    二维表格型数据结构,具有可能不同类型的列,其实与R语言中的data.frame类似,就数据框嘛还可以接受不同类型的输入,还可以理解为多个Series构成的。除了数据外还可以选择传递索引(行标签)和列(列标签),如果传递索引或者列,要确保索引的结果是数据框,如果是一维数组中的一个dict加上某个索引则会丢弃与传递索引不匹配的所有数据。如果没有传递标签,它会根据默认规则按输入数据构建。
    通过传递元组字典还可以自动创建多索引数据框

  5. Panel:
    三维数组,同上就理解为多个DataFrame构成Panel。

pandas中的函数

  1. read_csv()函数
    读取指定的csv文件,生成一个包含csv数据的DataFrame
    info(返回参数,DataFrame类型) = pd.read_csv((需要读取的csv文件名字,str类型))
    类似的函数还有read_excel() read_json read_sql() read_html()
  2. isnul()函数
    返回一个包含数据是否是null的信息数据
    bool(返回判断结果,True为null,Fales为不是) = pd.isnull((需要判断的数据,DataFrame/Series类型))
  3. to_datetime()函数
    将传入的数据转换成日期,date(返回的数据,类型由传入的参数确定) = pd.to_datetime((可以传int/float/string/datetime/list/tuple/Series/DataFrame))
    4.DataFrame函数【4-14属DataFrame类】
    生成DataFrame,df = pd.DataFrame(data, index = (作为索引的列参数))
  4. dtypes属性
    返回数据结构中每列数据类型,d = df.dtypes
  5. columns属性
    返回数据结构中每列的列名,index_name = df.columns
  6. shape属性
    返回数据结构的行列参数,shp(返回元组类型,行列数) = df.shape
  7. head()、tail()函数
    返回csv列表中的前、后num行数据,hdf = df.head(num = )默认情况下是前10行,tdf = df.tail(num = )同上
  8. describe()函数
    这个函数画重点哦,小白觉得必有大用,返回csv列表中的每个列的一些统计描述参数,像数量、均值、标准差、最小值、四分之一位数、中位数、四分之三位数、最大值,ddf = df.describe()
  9. sort_valuns()函数
    这个函数有点腻害,返回按参数排序的DataFrame,sdf = df.sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort’, na_position=’last’)
    by: DataFrame的行/列名
    axis: 0按列排序,1按行排序
    ascending:True为升序排列, False为降序排列
    inplace: True修改原DataFrame,False则返回新的DataFrame
    kind: 确定排序算法,包括{‘quicksort’, ‘mergesort’, ‘heapsort’}
    na_position: 确定na数据存在的位置,‘first’/‘last’
  10. pivot_table()函数
    根据index将数据分组,对于values列的值(相同类型)执行aggfunc函数,最后得到DataFrame, cdf = df.pivot_table(index = , values = , aggfunc = )
  11. dropna()函数
    该函数会根据要求删除带有NaN值的行和列,ddf = df.dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
    axis:搜索方向,0/‘index’为行搜索,1/‘columns’为列搜索
    how: ‘any’只要出现NA值就删除该行/列数据,‘all’所有值都是NA才删除
    thresh: 表示对有效数据数量的最小要求(为2则要求该行/列至少2个有效非NA数据存在)
    subset: 表示在特定子集中寻找NA
    inplace: 表示是否在原数据操作,True修改原数据,False返回新数据
  12. reset_index()函数
    重置(一般为经过排序后的)DataFrame的序号,rdf = df.reset_index(level = None, drop = False, inplace = False, col_level = 0, col_fill = ’’)
    level:只从索引中删除给定的级别。默认情况下删除所有级别
    drop: 是否删除原始的index列,True删除,False保留
    inplace: 是否在原数据上操作
    col_level: 如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它插入到第一级
    col_fill:如果列有多个级别,则确定其他级别的命名方式。如果没有,则重复索引名。
  13. set_index()函数
    根据现有的columns参数重新设置index索引,sdf = df.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
    keys: 需要作为索引的列名
    drop: 是否删除作为索引的列,True删除,False保留
    append: 是否添加默认的序号索引
    inplace: 是否在原数据上操作verify_integrity: 检查新索引是否有重复项。否则,请推迟检查,直到必要时为止。设置为false将提高此方法的性能
  14. Series函数【15-属Series类,相同的只改sr的不再记录】
    sr(生成Series) = pd.Series(data(参数), index = (索引列参数))
  15. tolist()函数
    将Series或Index类的数据变成list形式返回,list =sr.tolist()
  16. value_counts ()函数
    计算Series中各个values值的数量,csr = sr.value_counts(dropna=True)dropna: 是否计算NA的数量,True不计算,False计算

结语
嘛,就先到这里,下次再通过实例来认识pandas工具,毕竟只是了解用途什么的有种纸上谈兵的感jio~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: