![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pandas总结
文章平均质量分 53
†徐先森®
种一棵树最好的时间是十年前,其次是现在
展开
-
Pandas 将Dataframe中的所有列计算生成新的行
直接上截图代码;有计算好的以下数据,如何把所有列的值进行相加生成新的一行放在Dadaframe最后一行Your_dataframe.loc['Sum_by_Customer']=Your_dataframe.apply(lambda x:x.sum(),axis=0)一行代码解决原创 2021-03-23 15:25:53 · 800 阅读 · 0 评论 -
Pandas 分组之后按照不同时间维度算总和【年,季度,月,周算总和】
需求是公司需要的大概数据在数据库中的格式如下:模拟数据库表 客户名字cus_name 利润 时间 cus1 2342 2021-1-2 cus2 2352 2021-1-3 cus1 34 2021-1-4 cus3 3344 2021-2-1 cus3 451 2021-2-4 cus2 2352 2021-1-6 cus1 251 2021-1-29 cus3 24原创 2021-03-15 15:49:43 · 3863 阅读 · 0 评论 -
Pandas数据可视化-统计学相关图像(35)
pandas数据在plot时可以通过kind形参来选择绘制图像的统计学相关的样式输出。1 直条图展示数据间相对区别、差别可以使用plot的kind参数。 水平直条图,可以通过plot设置kind = “bar”实现。 import pandas as pdimport numpy as npimport matplotlib.pyplot as pltnp.random.seed(111111)v = np.random.randn(200, 3)#print vind =原创 2020-09-15 15:20:57 · 579 阅读 · 0 评论 -
pandas数据可视化-样式选择(34)
pandas、python里要绘制数据需要安装matplotlib模块(包),安装命令如下:pip install matplotlib回车即可安装完成。1 数据准备cumsum为何更好的展示基于pandas数据的可视化,先用pandas创建一些数据,这里有三列数据,数据的索引是时间序列的数据,最后以DataFrame的形式展示出来。import pandas as pdimport numpy as npimport matplotlib.pyplot as pltnp.r原创 2020-09-15 15:17:16 · 197 阅读 · 0 评论 -
Pandas数据可视化-基本步骤(33)
在Python里常用matplotlib来绘制数据即数据的可视化输出。用pandas数据处理完毕后,一般调用plot绘制,调用show显示数据。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltv = np.random.normal(loc = 10, scale = 1, size = 200)tx = pd.Series(v)tx.index = pd.date_range('2018-12-01',原创 2020-09-15 15:13:04 · 387 阅读 · 0 评论 -
Pandas的时间序列-滑动窗口(32)
什么是滑动(移动)窗口?为了提升数据的准确性,将某个点的取值扩大到包含这个点的一段区间,用区间来进行判断,这个区间就是窗口。例如想使用2011年1月1日的一个数据,单取这个时间点的数据当然是可行的,但是太过绝对,有没有更好的办法呢?可以选取2010年12月16日到2011年1月15日,通过求均值来评估1月1日这个点的值,2010-12-16到2011-1-15就是一个窗口,窗口的长度window=30. 移动窗口就是窗口向一端滑行,每次滑动(行)并不是区间整块的滑行,而是一个单位一个单位的滑行。例如窗口20原创 2020-09-15 15:11:34 · 1688 阅读 · 0 评论 -
Pandas的时间序列数据-resample重采样(31)
在pandas里对时序的频率的调整称之重新采样,即从一个时频调整为另一个时频的操作,可以借助resample的函数来完成。有upsampling和downsampling(高频变低频)两种。resample后的数据类型有类似'groupby'的接口函数可以调用得到相关数据信息。时序数据经resample后返回Resamper Object,而Resampler 是定义在pandas.core.resample模块里的一个类,可以通过dir查看该类的一些接口函数。liao@liao:~/md$ pyth原创 2020-09-15 15:10:13 · 1479 阅读 · 0 评论 -
Pandas的时间序列-时序处理详解(30)
之前的章节在介绍时序数据的时候基本上时间作为index,提供values值产生了Series数据,一般时序index和values一一对齐,现实使用pandas处理数据会发现数据value和index存在位置差,需要将values前移或整体后移,这个时候可以借助pandas的shift函数来移动一下数值数据values.有的时候会发现index过密,想缩短时间学列的间隔值,这个时候可以考虑用asfreq和resample来调整时间序列的间隔。1 移动对齐这里是处理上述的第一个问题,也就是数据和时间序原创 2020-09-15 15:08:06 · 525 阅读 · 0 评论 -
Pandas的时间序列Period,period_range---详解(29)
PeriodPandas的Period可以定义一个时期,或者说具体的一个时段。有这个时段的起始时间start_time、终止时间end_time等属性信息,其参数freq和之前的date_range里的freq参数类似,可以取'S'、'D'等。import pandas as pdp = pd.Period('2018-12-15', freq = "A")print p.start_time, p.end_time, p + 1, pprint pd.Period('2013-1-9 11原创 2020-09-15 15:05:35 · 4191 阅读 · 0 评论 -
Pandas的时间序列datetime,timestamp,date_range---详解(28)
时间序列介绍时间序列数据在金融、经济、神经科学、物理学里都是一种重要的结构化的数据表现形式,以时间为基本组织领域内的观测值并进行相应的分析,即时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任何时间形式。pandas 最基本的时间序列类型就是以时间戳(TimeStamp)为 index 元素的 Series 类型。 Python和Pandas里提供大量的内建工具、模块可以用来创建时间序列类型的原创 2020-09-15 15:02:48 · 2549 阅读 · 0 评论 -
Pandas的时间序列数据高级处理(27)
Pandas的时间序列数据-Period时期Pandas的Period可以定义一个时期,或者说具体的一个时段。有这个时段的起始时间start_time、终止时间end_time等属性信息,其参数freq和之前的date_range里的freq参数类似,可以取'S'、'D'等。import pandas as pdp = pd.Period('2018-12-15', freq = "A...原创 2019-12-10 17:29:49 · 625 阅读 · 0 评论 -
Pandas的时间序列数据(26)
Pandas的时间序列数据-datetime(本章节内容较多,右上角有目录导航,可参考部分内容定位)时间序列数据在金融、经济、神经科学、物理学里都是一种重要的结构化的数据表现形式,以时间为基本组织领域内的观测值并进行相应的分析,即时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任...原创 2019-12-10 17:26:48 · 421 阅读 · 0 评论 -
Pandas的数据分组-groupby,aggregate,transform函数用法分析总结(25)
在SQL语言里有group by功能,在Pandas里有groupby函数与之功能相对应。DataFrame数据对象经groupby()之后有ngroups和groups等属性,本质是DataFrame类的子类DataFrameGroupBy的实例对象。ngroups反应的是分组的个数,而groups类似dict结构,key是分组的index或label,value则为index或label所对应...原创 2019-11-20 15:21:36 · 2294 阅读 · 0 评论 -
pandas中的函数-apply,concat,merge,pivot与pivot_table 解析 (24)
Pandas的数据清洗-apply函数之前的replace、dropna、fillna函数要么针对NaN的某行或某列或某个,这些函数的作用有限,本章介绍的apply等函数可以针对整个Series或DataFrame的各个值进行相应的数据的处理。对Series应用apply函数。import pandas as pdimport numpy as nps = pd.Series(np...原创 2019-11-20 15:17:29 · 1056 阅读 · 0 评论 -
Pandas中的数据转换(23)
回忆一下之前的Categorical Data数据,是通过类似字典编码的方式存储了原始数据,降低了存储所需的空间,也就是说有的时候DataFrame里的数据未必就是原始数据,那么需要对原始数据,例如采集时设定了一些协议,1代表某某、2代表另一个事务或内容,那么当开发者得到这些协议后的编码,需要做一些数据上的变换,以便真实的反映数据本身,本章研究数据的转换,会介绍一些函数例如map、applymap...原创 2019-11-20 15:13:49 · 187 阅读 · 0 评论 -
Pandas的中删除重复数据(22)
在Pandas里有duplicated函数可以查询到数据里是否有重复的数据,可以用drop_duplicates函数删除重复数据。import pandas as pdimport numpy as npcol = ["apple", "pearl", "watermelon"] * 4pri = [2.50, 3.00, 2.75] * 4df = pd.DataFrame({"f...原创 2019-11-20 15:13:08 · 421 阅读 · 0 评论 -
Pandas的NAN数据处理--填充 (21)
上一章介绍了如何查询数据里的NaN数据,以及删除NaN的问题,有的时候不是说仅仅删除了NaN就对,实际出现NaN数据的原因很多,对于NaN数据所在的行或者列可以进行必要的数据填充,本章介绍一些简单的处理方法来填充NaN所在的行或者列,而不是删除NaN行、列数据。21.1 0填充NaN数据对于DataFrame里的数据NaN可以使用0来填充,使用fillna函数。import pand...原创 2019-11-20 15:08:15 · 5921 阅读 · 0 评论 -
Pandas清洗数据删除NaN (20)
Pandas的数据清洗-删除NaN数据清洗(Tidy Data),是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。 Pandas提供了很多的工具和函数可以对缺失、重复的数据进行相应的数据的处理。20.1 构造缺失数据在Pandas的各类数据Series和DataFrame里字段值为NaN的为缺失数据,不代表0而是说没有赋值数据。数据的缺失有很多...原创 2019-11-18 10:16:49 · 8243 阅读 · 0 评论 -
Pandas的DataFrame的统计函数 (19)
Pandas的DataFrame的统计函数DataFrame和Series都是pandas下的核心数据,series有统计函数,DataFrame也可以用统计里的各个函数,各个函数的意义和使用可以参考Series统计函数一章,本章就不再累述相应内容了。import pandas as pdimport numpy as npval = np.random.randn(5, 4)id...原创 2019-11-18 10:16:06 · 207 阅读 · 0 评论 -
Pandas的DataFrame的加减乘除运算 (18)
Pandas的DataFrame的算术运算DataFrame类型和Series类型一样也支持算法运算,但DataFrame是二维的,DataFrame的算术运算的两个数据可以都是DataFrame,也可有一个是数值scalar。1).如果其中一个是数值,那么这个数值会和DataFrame的每个位置上的数据进行相应的运算。import pandas as pdimport numpy...原创 2019-11-18 10:15:41 · 52689 阅读 · 2 评论 -
Pandas的Categorical Data相关函数 (17)
本章在前两章内容的理解之上研究一下和Categorical Data相关的一些函数和属性。17.1 修改Categorical的categoriesCategorical Data数据的categories是可以通过赋值或者rename函数被修替换改掉的。通过赋值的方式改变categories或者用set_categories() 函数。import pandas as pdid...原创 2019-11-18 10:14:59 · 603 阅读 · 0 评论 -
Pandas的分类数据处理 category (15)
pandas从0.15版开始提供分类数据类型,用于表示统计学里有限且唯一性数据集,例如描述个人信息的性别一般就男和女两个数据常用'm'和'f'来描述,有时也能对应编码映射为0和1。血型A、B、O和AB型等选择可以映射为0、1、2、3这四个数字分别代表各个血型。pandas里直接就有categorical类型,可以有效地对数据进行分组进行相应的汇总统计工作。当DataFrame的某列(字段)上的...原创 2019-11-18 10:13:37 · 1222 阅读 · 0 评论 -
Pandas的DataFrame行数据操作(14)
本章主要围绕对dataframe行的各项操作展开。14.1 append增加行append函数可以将某dataframe添加到另一个dataframe的尾部组成一个新的dataframe,如果列不同,没有数据的对应填充NaN数据,append不影响原dataframe。import pandas as pdimport numpy as npval1 = np.arange(10...原创 2019-11-18 10:12:40 · 387 阅读 · 0 评论 -
Pandas的DataFrame列columns操作(13)
本章主要研究一下DataFrame数据结构如何修改、增删等操作。13.1 rename修改列名字对一个dataframe的数据使用rename函数后返回新的dataframe,不影响原dataframe。import pandas as pdimport numpy as npval = np.arange(10, 60).reshape(10, 5)col = ["ax", ...原创 2019-11-18 10:11:46 · 5331 阅读 · 0 评论 -
Pandas的DataFrame的布尔类型数据处理(12)
DataFrame的行除了用之前的loc、iloc等,这些都是基于index做的相应的操作,而布尔序列值来选择非index列的值作用范围比loc等要宽泛一些、用途较为广泛,即给出一个布尔的列表来选择对应的行。单列上的布尔选择import pandas as pdimport numpy as npval = np.arange(10, 60).reshape(10, 5)col = ...原创 2019-11-18 10:10:29 · 3106 阅读 · 0 评论 -
Pandas的Dataframe切片处理(11)
11. Pandas的DataFrame的切片在pandas里DataFrame[label]或者DataFrame[index]选择的是列。而DataFrame[start:end]则是通过切片选择的是行。import pandas as pdimport numpy as npval = np.arange(10, 60).reshape(10, 5)col = ["ax", ...原创 2019-11-18 09:32:38 · 401 阅读 · 0 评论 -
Pandas的DataFrame的访问操作总结(10)
10. Pandas的DataFrame的访问DataFrame是二维数据类型,每一列是Series,可以访问DataFrame的列再访问行,也可以用iloc、loc、at等属性来访问DataFrame。10.1 []选择列对DataFrame使用[]和对Series使用[]的结果不同,DataFrame使用了[]则是选择了一个字段所有数据即一列,而Series则是会得到某行的数据。...原创 2019-11-15 14:51:17 · 1170 阅读 · 0 评论 -
Pandas的DataFrame属性的操作总结(9)
9. Pandas的DataFrame属性前一章介绍了如何将其他类型的数据转为pandas里的DataFrame,本章介绍一下dataframe的一些属性。为了更好的演示,可以先读一下前章节的iris.data文件到dataframe里,https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data 这个文件是c...原创 2019-11-15 14:48:52 · 492 阅读 · 0 评论 -
Pandas的DataFrame创建和导入csv,excel,json等 (8)
8. Pandas的DataFrame创建Pandas的Dataframe是二维的,每一列都是一个Series结构。Dataframe既可以通过列表也可以通过字典方式来创建,而且数据可以导入的方式也是非常多的。8.1 字典数据创建DataFrameDataFrame数据的创建和Series的创建类似,可以有很多方式。和Series一样也有字典类型的方式。字典方式创建DataFr...原创 2019-11-15 14:48:13 · 3416 阅读 · 0 评论 -
Pandas的Series统计函数(7)
pandas是python下常用来进行大数据处理与分析,本质是数理统计,所以本章简单了解一下pandas的一些统计函数,这里以series为例。sum函数sum函数可以统计series数值之和。import pandas as pdidx = "hello the cruel world".split()val = [1000, 201, None, 104]t = pd....原创 2019-11-15 14:35:19 · 2457 阅读 · 0 评论 -
pandas的Series的函数(6)
6. Pandas的Series的函数Pandas的Series有很多的属性和函数,函数一般有两类结果:in-place和copy,in-place意思是修改自身,而copy类的函数会返回一个新的Series而不影响自身。6.1 get、get_value函数首先看看get函数,可以返回指定的key所对应的value值,如果key不存在,返回default的值。>>&...原创 2019-11-15 14:44:05 · 484 阅读 · 0 评论 -
pandas的series的增删改查(5)
CURD的意思同数据库中一样,是创建、更新、读取和删除的意思。5.1创建Series标准的创建Series的方式是用字符串列表作为Series对象的标识每个数据的方式,即label来标志出每个数据。import pandas as pdidx = "hello the cruel world".split()val = range(10, 14)s = pd.Series(va...原创 2019-11-15 14:43:22 · 479 阅读 · 0 评论 -
Pandas的Series的Slice切片(4)
4. Pandas的Series的SliceSlice切片,pandas的Series的切片,以位置信息去使用切片,和python里的切片的意义是一样的即含起点不含终点half-open。但Series还支持一种label的方式定位每个元素,常用字符串做index,所以在label上使用切片和python不一样的地方是即含起点又含终点。如果用整形位置信息作为label,会产生歧义,建议不这样用...原创 2019-11-15 14:41:44 · 1554 阅读 · 0 评论 -
Pandas的Series的索引系列 index (3)
3. Pandas的Series的index3.1 Series的index在创建Series时可以通过Series的构造函数指定或不指定Series的index属性,Series创建完后可以通过点儿(.)语法访问该Series的index属性。import pandas as pds = pd.Series([2, 4, 5, 6])print "s:\n", sval = ...原创 2019-11-15 14:41:01 · 2090 阅读 · 0 评论 -
Pandas的Series的使用总结(2)
2. Pandas的Series的创建pandas的一维的数据结构Series有点像Python的列表list,可以存储一些数据,可以通过index访问Series里某位置上的数据,也可以通过标签label来访问某数据(这点有点类似于Python的字典dict)。 换句话说Series即可像list一样用index来标识Series里某数据,也可像dict那样通过标签来标识某数据。2.1 ...原创 2019-11-15 14:40:08 · 535 阅读 · 0 评论 -
Pandas介绍安装 (1)
pandas通常和numpy一起学习,抽时间我会把numpy部分也更新上来。初学者建议按照上面的编号来学习,这样以来知识点会比较全面,不需要你每个都掌握,只要你每个都是用过,都有一些印象,使用的时候再过来查看就行了,这才是学习,一定要掌握学习方法。pandas是python里对数据进行处理和分析比较流行的模块,涉及一些统计学的知识,可以自行学习,除此以外和python的其他模块的学习没啥区别,...原创 2019-11-15 14:38:50 · 176 阅读 · 0 评论