数据分析利器--Pandas
文章平均质量分 68
Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
yungeisme
编程就像一件玩具,而我就是那个永远长不大的孩子!
展开
-
Pandas详解二十六之Apply--对行、列用函数处理
约定:import pandas as pdApply–对行、列用函数处理俗话说,工欲善其事,必先利其器。在这里形容apply函数再合适不过了,apply函数,可以说是pandas中自由度最高的函数。不过,是否能发挥其巨大威力,取决于我们的创造力。在本博文中,首先通过简单例子来说明apply的用法,然后通过俩个高级例子来演示常用的用法。1 简单例子来...原创 2018-09-02 08:25:02 · 38076 阅读 · 12 评论 -
Pandas详解二十五之聚合运算agg
约定:import pandas as pd聚合运算在数据分析中,对数据聚合(求和、平均值等)通常是不可避免的。在将数据分组(groupby)后,新手若不知函数 agg() 的情况下,很有可能写出二三十行的for循环只为求每个分组的平均值。在这里,介绍个强大的函数:agg() ,能让你的代码缩减到一行。 创建对象和分组df1=pd.DataFrame...原创 2018-08-28 15:49:17 · 10485 阅读 · 2 评论 -
Pandas详解二十四之写入CSV、Excel文件
约定:import pandas as pdimport numpy as npimport sys写入CSV文件写入csv文件是最常用的,csv文件默认用’,’作为分隔符。df1.to_csv(path_or_buf=None, sep=’,’, na_rep=”, float_format=None, columns=None, header=True, index...原创 2018-08-03 08:59:33 · 15883 阅读 · 0 评论 -
Pandas详解二十三之读取CSV、Excel文件
约定:import pandas as pd读取CSV文件csv文件以.csv后缀结尾,默认用’,’作为分隔符,pandas提供了pd.read_csv()函数供我们读取csv文件:pd.read_csv(filepath_or_buffer, sep=’,’, delimiter=None, header=’infer’, names=None, in...原创 2018-08-01 10:29:20 · 7000 阅读 · 0 评论 -
Pandas详解一之Series对象
约定:import pandas as pdfrom pandas import Series,DataFrameimport numpy as npSeries一、Series属性及方法Series是Pandas中最基本的对象,Series类似一种一维数组:se1=Series([4,7,-2,8])se1代码结果:0 41 7...原创 2018-03-15 19:20:19 · 14116 阅读 · 3 评论 -
Pandas详解二之DataFrame对象
约定import pandas as pdfrom pandas import DataFrameimport numpy as npDataFrameDataFrame是一个表格型的数据结构,既有行索引(保存在index)又有列索引(保存在columns)。一、DataFrame对象常用属性:创建DateFrame方法有很多(后面再介绍),最...原创 2018-03-15 19:38:46 · 13368 阅读 · 0 评论 -
Pandas详解三之Index对象
约定import pandas as pdfrom pandas import DataFrameimport numpy as npIndexIndex对象保存着索引标签数据,它可以快速找到标签对应的整数下标,其功能与Python的字典类似。dict1={"Province":["Guangdong","Beijing","Qinghai","Fu...原创 2018-03-16 09:51:34 · 45904 阅读 · 3 评论 -
Pandas详解四之MultiIndex对象
约定import pandas as pdfrom pandas import DataFrameimport numpy as npMultiIndexMultiIndex表示多级索引,它是从Index继承过来的,其中多级标签用元组对象来表示。一、创建MultiIndex对象创建方式一:元组列表m_index1=pd.Index([("...原创 2018-03-16 13:03:24 · 49377 阅读 · 10 评论 -
Pandas详解五之下标存取
约定import pandas as pdimport numpy as np下标存取Series和DataFrame提供了丰富的下标存取方法,除了直接用[ ],还有.loc[ ]、.iloc[ ]、.at[ ]、.iat[ ]和.ix[ ]等存取方式。np.random.seed(42)df1=pd.DataFrame(np.random.ran...原创 2018-03-16 13:08:54 · 6557 阅读 · 2 评论 -
Pandas详解六之Timestamp、Period、Timedelta时间对象
约定:import pandas as pdimport numpy as np一、时间点TimestampTimestamp是从Python标准库的datetime类继承过来的,表示时间轴上的一个时刻。它提供了方便的时区转换功能。调用Timestamp.now()获取当前时间,但注意的是,它是不包含时区信息的本地时间。now=pd.Timestamp.now...原创 2018-03-17 22:28:41 · 25496 阅读 · 0 评论 -
Pandas详解七之DatetimeIndex、PeriodIndex和TimedeltaIndex时间序列
约定:import pandas as pdimport numpy as np时间序列上节介绍的Timestamp、Period和Timedelta对象都是单个值,这些值都可以放在索引或数据中。作为索引的时间序列有:DatetimeIndex、PeriodIndex和TimedeltaIndex,它们都可以作为Series和DataFrame的索引。一、创建Date...原创 2018-03-17 22:34:30 · 39446 阅读 · 0 评论 -
Pandas详解八之ReIndex重新索引
约定:import pandas as pdimport numpy as npReIndex重新索引reindex()是pandas对象的一个重要方法,其作用是创建一个新索引的新对象。一、对Series对象重新索引se1=pd.Series([1,7,3,9],index=['d','c','a','f'])se1代码结果:d 1...原创 2018-03-17 22:47:52 · 63682 阅读 · 1 评论 -
Pandas详解九之Drop丢弃指定轴的项
约定:import pandas as pdimport numpy as npDrop丢弃指定轴上的项丢弃某轴上项,只要有一个索引表或者列表即可。丢弃Series上的项:se1=pd.Series(range(10,15))se1.drop([2,3])代码结果:0 101 114 14dtype: int3...原创 2018-03-17 22:53:51 · 1703 阅读 · 0 评论 -
Pandas详解十之Dropna滤除缺失数据
约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN滤除缺失数据pandas的设计目标之一就是使得处理缺失数据的任务更加轻松些。pandas使用NaN作为缺失数据的标记。使用dropna使得滤除缺失数据更加得心应手。一、处理Series对象通过dropna(...原创 2018-03-17 22:57:55 · 97221 阅读 · 3 评论 -
Pandas详解十一之Fillna填充缺失数据
约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN填充缺失数据fillna()是最主要的处理方式了。df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])df1代码结果: ...原创 2018-03-17 23:00:18 · 105181 阅读 · 3 评论 -
Pandas详解十二之排序和排名
约定:import pandas as pdimport numpy as np排序和排名根据条件对Series对象或DataFrame对象的值排序(sorting)和排名(ranking)是一种重要的内置运算。 接下来为大家介绍如何使用pandas对象的:sort_index() / sort_values() / rank() 方法。一、对Ser...原创 2018-04-24 20:37:43 · 12735 阅读 · 1 评论 -
Pandas详解十三之多级索引MultiIndex(层次化索引)
约定:import pandas as pdimport numpy as np多级索引多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame对象上拥有2个以及2个以上的索引。 实质上,单级索引对应Index对象,多级索引对应MultiIndex对象。一、Series对象的多级索引多级索引Series对象的创...原创 2018-04-24 21:36:29 · 21335 阅读 · 3 评论 -
Pandas详解十四之DataFrame对象的列和索引之间的转化
约定:import pandas as pdDataFrame对象的列和索引之间的转化我们常常需要将DataFrame对象中的某列或某几列作为索引,或者将索引转化为对象的列。pandas提供了set_index()/reset_index() 来供我们使用。一、列转化为索引df1=pd.DataFrame({'X':range(5),'Y':rang...原创 2018-04-26 21:16:09 · 19929 阅读 · 1 评论 -
Pandas详解十五之利用GroupBy技术进行分组
约定:import pandas as pdimport numpy as npGroupBy分组对数据进行分组并对每个分组进行运算是数据分析中很重要的环节。该博客讲解了利用pandas的Groupby技术如何进行分组。下图简单介绍了分组的过程:创建DataFrame对象df1=pd.DataFrame({'Data1':np.random...原创 2018-04-26 21:30:24 · 19968 阅读 · 7 评论 -
Pandas详解十六之groupby分组后分开运算
约定import pandas as pdimport numpy as npgroupby分组后分开运算Groupby对象支持迭代,当我们分组后想保存分组结果而不想运算,或者分别对每组进行不同的运算,这时是十分有用的。1 创建df1=pd.DataFrame({'Data1':np.random.randint(0,10,5),'Data2':np.random.ran...原创 2018-05-31 16:11:52 · 21309 阅读 · 1 评论 -
Pandas详解十七之Merge合并-数据库风格的合并
约定:import pandas as pdMerge-数据库风格的合并数据的合并(merge)和连接(join)是我们在数据分析和挖掘中不可或缺的,是通过一个或一个以上的键连接的。pandas的合并(merge)的的绝大功能和数据库操作类似的。具有如下参数:pd.merge(left, right, how=’inner’, on=None, left...原创 2018-05-31 20:35:44 · 7729 阅读 · 2 评论 -
Pandas详解十八之DataFrame对象的-Join合并
约定:import pandas as pd对象的实例方法-JoinDataFrame对象有个df.join()方法也能进行pd.merge()的合并,它能更加方便地按照对象df的索引进行合并,且能同时合并多个DataFrame对象。它具有如下参数:df.join(other, on=None, how=’left’, lsuffix=”, rsuffi...原创 2018-06-11 22:56:17 · 19181 阅读 · 0 评论 -
Pandas详解十九之轴向连接Pandas对象-Concat
约定:import pandas as pd轴向连接-Concat在数据处理中,通常将原始数据分开几个部分进行处理而得到相似结构的Series或DataFrame对象,我们该如何进行纵向合并它们?这时我们可以选择用pd.concat()方式极易连接两个或两个以上的Series或DataFrame对象。如下是该函数的参数解读:pd.concat(objs,...原创 2018-06-12 12:47:20 · 1389 阅读 · 0 评论 -
Pandas详解二十之Merge、Join、Concat方式-详解Pandas对象合并、连接
约定:import pandas as pdMerge-数据库风格的合并数据的合并(merge)和连接(join)是我们在数据分析和挖掘中不可或缺的,是通过一个或一个以上的键连接的。pandas的合并(merge)的的绝大功能和数据库操作类似的。具有如下参数:pd.merge(left, right, how=’inner’, on=None, left...原创 2018-06-12 13:00:12 · 5209 阅读 · 4 评论 -
Pandas详解二十一之移除重复数据
约定import pandas as pd移除重复数据DataFrame中经常会出现重复行,利用duplicated()函数返回每一行判断是否重复的结果(重复则为True),drop_duplicates([key1,key2,..])则可去除重复行。1 判断每一行是否重复df1=pd.DataFrame({'A':[1,1,1,2,2,3],'B':list("a...原创 2018-07-24 17:41:06 · 8331 阅读 · 0 评论 -
Pandas详解二十二之离散化(分组、区间化)
约定import pandas as pd离散化通常对于我们不想要连续的数值,我们可将其离散化,离散化也可称为分组、区间化。Pandas为我们提供了方便的函数cut():pd.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False) 参数解释:...原创 2018-07-24 17:44:56 · 14319 阅读 · 6 评论