首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python数据科学系列:pandas入门详细教程

二者之间主要区别是: 数据结构上看: numpy核心数据结构是ndarray,支持任意维数数组,但要求单个数组内所有数据是同质,即类型必须相同;pandas核心数据结构是series和dataframe...、切片访问、通函数、广播机制等 series是带标签一维数组,所以还可以看做是类字典结构:标签是key,取值是value;dataframe则可以看做是嵌套字典结构,其中列名是key,每一列series...既然是数据结构,就必然有数据类型dtype属性,例如数值型、字符串型或时间类型等,其类型绝大多数场合并不是我们关注主体,但有些时候值得注意,如后文中提通过[ ]执行标签切片访问行过程。...广播机制,即当维度或形状不匹配时,会一定条件广播后计算。由于pandas是带标签数组,所以在广播过程中会自动标签匹配进行广播,而非类似numpy那种纯粹顺序进行广播。...例如,如下示例中执行一个dataframe和series相乘,虽然二者维度不等、大小不等、标签顺序也不一致,但仍能标签匹配得到预期结果 ?

13.8K20

最近,又发现了Pandas中三个好用函数

近日,在github中查看一些他人提交代码时,发现了Pandas中这三个函数,在特定场景中着实好用,遂成此文以作分享。...虽然Pandas中提供了很多向量化操作,可以很大程度上避免暴力循环结构带来效率低下,但也不得不承认仍有很多情况还是循环来简洁实在。...我们知道,PandasDataFrame有很多特性,比如可以将其视作是一种嵌套字典结构:外层字典key为各个列名(column),相应value为对应各列,各列实际上即为内层字典,其中内层字典...所以,对于一个DataFrame,我们可以方便使用类似字典那样,根据一个列名作为key来获取对应value值,例如在上述DataFrame中: 当然,这是Pandas中再基础不过知识了,这里加以提及是为了引出...DataFrame下述API:即,类似于Python中字典items()方法可以返回所有键值对那样,DataFrame也提供了items方法,返回结果相信也正是猜测那样: 当然,返回结果是一个生成器

1.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

一文介绍Pandas9种数据访问方式

导读 Pandas之于日常数据分析工作重要地位不言喻,灵活数据访问则是其中一个重要环节。本文旨在讲清Pandas9种数据访问方式,包括范围读取和条件查询等。 ?...以下面经典titanic数据集为例,可以两个方面特性来认识DataFrame: ? DataFrame是一个行列均由多个Series组成二维数据表框,其中Series可看做是一个一维向量。...通常情况下,[]常用于在DataFrame中获取单列、多列或多行信息。具体而言: 当在[]中提供单值或多值(多个列名组成列表)访问时列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片类型与索引列类型不一致时,引发报错 2. loc/iloc,可能是除[]之外最为常用两种数据访问方法,其中loc标签值(列名和行索引取值)访问、iloc数字索引访问,均支持单值访问或切片查询...4. isin,条件范围查询,一般是对某一列判断其取值是否在某个可迭代集合中。即根据特定列值是否存在于指定列表返回相应结果。 5. where,妥妥Pandas仿照SQL中实现算子命名。

3.7K30

Pandas对象

Pandas对象简介 如果底层视角观察Pandas,可以把它们看成增强版Numpy结构化数组,行列都不再是简单整数索引,还可以带上标签。...c', 'd']) data a 0.25 b 0.50 c 0.75 d 1.00 dtype: float64 # 获取索引b数值 data['b'] 0.5 也可以使用不连续或者不顺序索引...DataFrame是特殊字典 与Series 类似,我们也可以把DataFrame 看成一种特殊字典。字典是一个键映射一个值,DataFrame 是一列映射一个Series 数据。...0 0 1 1 2 2 2 4 即使字典中有些键不存在,Pandas 也会用缺失值NaN(不是数字,not a number)来表示: pd.DataFrame([{'a': 1, 'b': 2},...DataFrame 和数组之间进行索引共享时更加安全,尤其是可以避免因修改索引时粗心大意导致副作用。

2.6K30

python数据分析——数据选择和运算

它们能够帮助我们海量数据中提取出有价值信息,并通过适当运算处理,得出有指导意义结论。 数据选择,是指在原始数据集中筛选出符合特定条件数据子集。这通常涉及到对数据筛选、排序和分组等操作。...正整数用于数组开头开始索引元素(索引0开始),负整数用于数组结尾开始索引元素,其中最后一个元素索引是-1,第二个到最后一个元素索引是-2,以此类推。...数据获取 ①列索引取值 使用单个值或序列,可以DataFrame中索引出一个或多个列。...如果为True,则不要使用连接轴上索引值。生成轴将标记为0…, n-1。 join_axes-这是索引对象列表。用于其他(n-1)轴特定索引,不是执行内部/外部设置逻辑。...,值为first空值在数据开头,值为last空值在数据最后,默认为last ignore_index:布尔值,是否忽略索引,值为True标记索引(0开始顺序整数值),值为False则忽略索引。

12310

数据导入与预处理-课程总结-04~06章

2.1.4 插补缺失值 pandas中提供了插补缺失值方法interpolate(),interpolate() 会根据相应插值方法求得值进行填充。...; 空心圆点表示异常值,该值范围通常为小于Q1 – 1.5IQR或大于Q3 + 1.5IQR 为了能够直观地箱形图中查看异常值,pandas中提供了两个绘制箱形图函数:plot()和boxplot...sort:表示按键对应一列顺序对合并结果进行排序,默认为True。...lsuffix: 左DataFrame中重复列后缀 rsuffix: 右DataFrame中重复列后缀 sort: 字典序对结果在连接键上排序 join方式为某个相同列进行join: score_df...需要说明是,0和1并不代表数量多少,代表不同类别。 假设变量“职业”有司机、学生、导游、工人、教师共5个类别,这5个类别分别有0和1两种取值,0代表非此种类别,1代表此种类别。

13K10

最全攻略:数据分析师必备Python编程基础知识

Python编写代码时,是以缩进作为代码块标识,不是使用花括号等字符,这与其它语言有较大差别。...当函数形式参数过多时,一般采用关键字传递方式,通过形式参数名=实际参数方式传递参数,如下所示,函数age有四个参数,可以通过指定名称方式使用,也可按照顺序进行匹配: def age(a,b,c...young teenager median old age('young','teenager','median','old') #位置顺序匹配 young teenager median old...,Pandas会以pd做为别名,pd.read_csv读取指定路径下文件,然后返回一个DataFrame对象。...-8',python2默认为'ascii' ▲表3-3 pandas.read_csv参数一览 Pandas除了可以直接读取csv、Excel、Json、html等文件生成DataFrame,也可以列表

4.5K21

最全面的Pandas教程!没有之一!

我们可以用加减乘除(+ - * /)这样运算符对两个 Series 进行运算,Pandas 将会根据索引 index,对响应数据进行计算,结果将会以浮点数形式存储,以避免丢失精度。 ?...因为我们没有指定堆叠方向,Pandas 默认方向堆叠,把每个表索引顺序叠加。 如果你想要按列方向堆叠,那你需要传入 axis=1 参数: ? 注意,这里出现了一大堆空值。...同时,我们可以传入多个 on 参数,这样就能多个键值进行归并: ? image 连接(Join) 如果你要把两个表连在一起,然而它们之间没有太多共同列,那么你可以试试 .join() 方法。...和 .merge() 不同,连接采用索引作为公共键,不是某一列。 ? 同样,inner 代表交集,Outer 代表并集。...,index 表示该列进行分组索引, columns 则表示最后结果将该列数据进行分列。

25.8K64

Pandas Sort:你 Python 数据排序指南

在多列上对 DataFrame 进行排序 升序多列排序 更改列排序顺序 降序多列排序 具有不同排序顺序多列排序 根据索引对 DataFrame 进行排序 升序索引排序 索引降序排序 探索高级索引排序概念...行和列都有索引,它是数据在 DataFrame 中位置数字表示。您可以使用 DataFrame 索引位置特定行或列中检索数据。默认情况下,索引号从零开始。您也可以手动分配自己索引。...与 using 不同之处.sort_values()在于您是根据其行索引或列名称对 DataFrame 进行排序,不是根据这些行或列中值: DataFrame 行索引在上图中以蓝色标出。...排序算法应用于轴标签不是实际数据。这有助于对 DataFrame 进行目视检查。...通常,这是使用 Pandas 分析数据最常见和首选方法,因为它会创建一个新 DataFrame 不是修改原始数据。这允许您保留文件中读取数据时数据状态。

13.9K00

《基于Python大数据分析基础及实战》精简读书笔记

综上所述,DataFrame 本质上是一种高级字典。 使用贴士:所有的读取操作,一个 read 解决。 意义:数据处理能够提高数据质量,另一方面能让数据更好适应特定数据分析工具。...定义:数据抽取,当前数据集中抽取片段。方法很多,属于筛选操作,可以有的方法如:随机抽样、顺序抽取、条件抽取。 注意:数据抽取是存在副作用,可能需要重新设置索引。...小贴士:DataFrame 同时抽取几条数据时一定要使用列表索引,不能简单用逗号分隔。...Pandas 中没有定义相关函数,需要根据实际情况自行构建。 定义:修改记录,顾名思义就是修改一些数据,可行方式包括:整体替换、个别修改、 定义:交换行或列,不做解释。 定义:数据合并,不做解释。...=‘retina’ 注意:OpenCV 类库使用 BGR 颜色通道,不是常说 RGB 颜色通道,读取时要反过来。

44110

python对100G以上数据进行排序,都有什么好方法呢

行和列都有索引,它是数据在 DataFrame 中位置数字表示。您可以使用 DataFrame 索引位置特定行或列中检索数据。默认情况下,索引号从零开始。您也可以手动分配自己索引。...与 using 不同之处.sort_values()在于您是根据其行索引或列名称对 DataFrame 进行排序,不是根据这些行或列中值: DataFrame 行索引在上图中以蓝色标出。...先按姓然后名字排序是有意义,这样姓氏相同的人会根据他们名字字母顺序排列。 在第一个示例中,您在名为 单个列上对 DataFrame 进行了排序city08。...排序算法应用于轴标签不是实际数据。这有助于对 DataFrame 进行目视检查。...通常,这是使用 Pandas 分析数据最常见和首选方法,因为它会创建一个新 DataFrame 不是修改原始数据。这允许您保留文件中读取数据时数据状态。

10K30

猿创征文|数据导入与预处理-第3章-pandas基础

若未指定数据类型,pandas根据传入数据自动推断数据类型。 在使用pandasSeries数据结构时,可通过pandas点Series调用。...,Series 上操作会根据标签自动对齐 index顺序不会影响数值计算,以标签来计算 空值和任何值计算结果扔为空值 数据删除 In [44]: # 删除:.drop s = pd.Series...Dataframe数据以一个或多个二维块存放,不是列表、字典或一维数组结构。...0到length-1)选择行 # df.iloc[] - 按照整数位置(0到length-1)选择行 # 类似list索引,其顺序就是dataframe整数位置,0开始计 df = pd.DataFrame...输出为: 排序2 - 索引排序 .sort_index pandas中提供了一个sort_index()方法,使用sort_index()方法可以让Series类对象DataFrame类对象索引大小进行排序

13.9K20

浅谈NumPy和Pandas库(一)

本文将聊一下NumPy和panda.DataFrames最基础一些知识,前者能帮助你处理大量数值数据,后者帮你存储大型数据集以及数据集中提取出来信息。...Pandas数据经常包括在名为数据框架(data frame)结构中,数据框架是已经标记二维数据结构,可以让你根据需要选择不同类型列,类型有字符串(string)、整数(int)、浮点型(float...首先,我们看一下如何创建数据框架: #Pandas创建数据框架(dataframe) from pandas import DataFrame, Series #首先创建一个名为dPython词典...23.0 22 True james # c NaN 36 False jack # d 19.8 43 True frank #结果不是相应顺序...,若想得到想要顺序,需要对df想要顺序重新排序 df.reindex(columns=['name', 'age', 'BMI', 'healthy?'])

2.3K60

Python数据分析笔记——Numpy、Pandas

一维数组索引 多维数组索引 (2)切片索引 一维数组切片索引(与Python列表切片索引一样) 多维数组切片索引 (3)花式索引 元素索引和切片索引都是仅局限于连续区域值,花式索引可以选取特定区域值...上述语句选出是元素(1,0)、(5,3)、(7,1)、(2,2)。 上述语句0、3、1、2列顺序依次显示1、5、7、2行。下述语句能实现同样效果。...DataFrame既有行索引也有列索引,其中数据是以一个或多个二维块存放不是列表、字典或别的一维数据结构。...如果指定了列序列、索引,则DataFrame列会指定顺序及索引进行排列。 也可以设置DataFrameindex和columnsname属性,则这些信息也会被显示出来。...Pandas基本功能 1、重新索引 Pandas对象一个方法就是重新索引(reindex),其作用是创建一个新索引,pandas对象将这个新索引进行排序。对于不存在索引值,引入缺失值。

6.4K80

python数据分析——数据分类汇总与统计

pandas提供了一个名为DataFrame数据结构,它可以方便地存储和处理表格型数据。...第一个阶段,pandas对象中数据会根据你所提供一个或多个键被拆分(split)为多组。拆分操作是在对象特定轴上执行。...: size计数时包含NaN值,count不包含NaN值。...首先,根据day和smoker对tips进行分组,然后采用agg()方法一次应用多个函数。 如果传入一组函数或函数名,得到DataFrame列就会以相应函数命名。...具体办法是向agg传入一个列名映射到函数字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化列 2.3.返回不含行索引聚合数据 到目前为止,所有例中聚合数据都有由唯一分组键组成索引

14410

Pandas_Study01

pandas 入门概念 series 和 dataframe 这是pandas 中最为基本两个概念,series 类似于一维数组,可以近似当成普通数组进行操作,对于series 默认会有行索引为它索引...,但特殊同时与普通一维数组不同 列表只能有0开始整数索引,series则可以自定义标签索引,这一点来看,跟字典又比较相似,因此series又可以拥有类似字典操作方式,series 标签索引可以随时更新修改替换...DataFrame是一种表格型数据结构,它含有一组有序列,每列可以是不同值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成字典,不过这些Series公用一个索引。...取值根据需要 money_series.iloc[[3, 0]] # 取第四个值和第一个值 """ d 5 a 200 Name: money, dtype: int64 """ 上面是根据序号进行取值...根据需要进行取值,即自定义条件 money_series[money_series > 50] # 选取大于50值 """ c 300 d 200 Name: money, dtype:

16610

pandas时间序列常用方法简介

在进行时间相关数据分析时,时间序列处理是自然而然事情,创建、格式转换到筛选、重采样和聚合统计,pandas都提供了全套方法支持,用熟练简直是异常丝滑。 ?...需要指出,时间序列在pandas.dataframe数据结构中,当该时间序列是索引时,则可直接调用相应属性;若该时间序列是dataframe一列时,则需先调用dt属性再调用接口。...2.truncate截断函数,实际上这也不是一个时间序列专用方法,仅仅是pandas中布尔索引一种简略写法:通过逐一将索引与起始值比较得出布尔值,从而完成筛选。...需注意是该方法主要用于数据列时间筛选,其最大优势在于可指定时间属性比较,例如可以指定time字段根据时间筛选不考虑日期范围,也可以指定日期范围不考虑时间取值,这在有些场景下是非常实用。 ?...进一步,当freq参数为None时,则仅仅是滑动指定数目的记录,不管索引实际取值当freq设置有效参数时,此时要求索引列必须为时间序列,并根据时间序列滑动到指定周期处,并从此处开始取值(在上图中

5.7K10

Python 数据处理:Pandas使用

DataFrame既有行索引也有列索引,它可以被看做由Series组成字典(共用同一个索引)。DataFrame数据是以一个或多个二维块存放不是列表、字典或别的一维数据结构)。...要对行或列索引进行排序(字典顺序),可使用sort_index方法,它将返回一个已排序新对象: import pandas as pd obj = pd.Series(range(4), index...'dense' 类似于'min'方法,但是排名总是在组间增加1,不是组中相同元素数 ---- 2.11 带有重复标签轴索引 直到目前为止,所介绍所有范例都有着唯一轴标签(索引值)。...它们大部分都属于约简和汇总统计,用于Series中提取单个值(如sum或mean)或DataFrame行或列中提取一个Series。...计算Series中唯一值数组,发现顺序返回 value_counts 返回一个Series,其索引为唯一值,其值为频率,计数值降序排列 有时,你可能希望得到DataFrame中多个相关列一张柱状图

22.7K10

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

索引值也是持久,所以如果你对 DataFrame行重新排序,特定标签不会改变。 5. 副本与就地操作 大多数 Pandas 操作返回 Series/DataFrame 副本。...pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同方式分配新列。DataFrame.drop() 方法 DataFrame 中删除一列。...值排序 Excel电子表格中排序,是通过排序对话框完成pandas 有一个 DataFrame.sort_values() 方法,它需要一个列列表来排序。...获取第一个字符: =MID(A2,1,1) 使用 Pandas,您可以使用 [] 表示法位置位置字符串中提取子字符串。请记住,Python 索引是从零开始。...在 Pandas 中提取单词最简单方法是用空格分割字符串,然后索引引用单词。请注意,如果您需要,还有更强大方法。

19.5K20

Pandas这3个函数,没想到竟成了我数据处理主力

②然后来一个行方向处理例子,例如根据性别和年龄,区分4类人群:即女孩、成年女子、男孩、成年男子,其中年龄以18岁为界值进行区分。...在Python中提到map关键词,个人首先联想到是两个场景:①一种数据结构,即字典或者叫映射,通过键值方式组织数据,在Python中叫dict;②Python一个内置函数叫map,实现数据按照一定规则完成映射过程...某种角度来讲,这种变换得以实施前提是该DataFrame各列元素具有相同数据类型和相近业务含义,否则运用相同数据变换很难保证实际效果。...04 小结 apply、map和applymap常用于实现Pandas数据变换,通过接收一个函数实现特定变换规则; apply功能最为强大,可应用于Series、DataFrame以及DataFrame...分组后group DataFrame,分别实现元素级、Series级以及DataFrame级别的数据变换; map仅可作用于Series实现元素级变换,既可以接收一个字典完成变化也可接收特定函数,

2.4K10
领券