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

数据处理利器pandas入门

想入门 Pandas,那么首先需要了解Pandas的数据结构。因为Pandas数据操作依赖于数据结构对象。Pandas中最常用的数据结构是 Series 和 DataFrame。...⚠️ Pandas官方提示:以下切片形式操作简单的交互式数据分析时是非常友好的,但是如果应用于生产环境尽量使用优化后的一些方法:.at,.iat,.loc,.iloc,.ix等。...上述两种数据选择虽是基于DataFrame,但Series也支持同样的操作,以1001A 站点的AQI数据为例: s = data.loc[data.type == 'AQI']['1001A'] ?...data.fillna() # fillna 使用给定值和方法进行数据填补 data.interpolate() # interpolate 可以通过线性值等方法通过值补齐数据 统计计算 Pandas...sub.xs('1001A', axis=1) 简单绘图 Python可视化工具概览 我们提到过数据处理和可视化一条龙服务的PandasPandas不仅可以进行数据处理工作,而且其还封装了一些绘图方法

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

Pandas图鉴(四):MultiIndex

Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。...关系型数据库,它被称为复合主键。 你可以DataFrame从CSV解析出来后指定要包含在索引的列,也可以直接作为read_csv的参数。...Python 只允许方括号内使用冒号,不允许小括号内使用,所以你不能写df.loc[(:, 'Oregon'), :]。 警告! 这里不是一个有效的Pandas语法!...我们看看文档对命名规则的描述: "这个函数是通过类比来命名的,即一个集合被重新组织,从水平位置上的并排(DataFrame的列)到垂直方向上的堆叠(DataFrame的索引)。"...官方Pandas文档有一个表格[4],列出了所有~20种支持的格式。 多指标算术 整体使用多索引DataFrame的操作,适用与普通DataFrame相同的规则(见第三部分)。

41120

【原创佳作】介绍Pandas实战中一些高端玩法

什么是多重/分层索引 多重/分层索引(MultiIndex)可以理解为堆叠的一种索引结构,它的存在为一些相当复杂的数据分析和操作打开了大门,尤其是处理高纬度数据的时候就显得十分地便利,我们首先来创建带有多重索引的...DataFrame数据集 多重索引的创建 首先在“列”方向上创建多重索引,即我们调用columns参数时传递两个或者更多的数组,代码如下 df1 = pd.DataFrame(np.random.randint..., 'Day'] ## 或者是 df.loc[('London', ) , ('Day', )] output 通过调用loc()方法来获取第一层级上的数据,要是我们想要获取所有“行”的数据,代码如下...'].loc['2019-07-03'] output 第一次调用loc['Cambridge', 'Day']的时候返回的是DataFrame数据集,然后再通过调用loc()方法来提取数据,当然这里还有更加快捷的方法...内部也提供了IndexSlice()方法来方便我们更加快捷地提取出多重索引数据集中的数据,代码如下 from pandas import IndexSlice as idx df.loc[ idx

66910

Pandas图鉴(三):DataFrames

Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。...DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 Pandas,引用多行/列是一种复制,而不是一种视图。...警告 为了摆脱这种情况下的警告,让它成为一个真正的副本: df1 = df.loc['a':'b'].copy(); df1['A']=10 Pandas支持一种方便的NumPy语法,用于布尔索引...通过MultiIndex进行堆叠 如果行和列的标签都重合,concat可以做一个相当于垂直堆叠的MultiIndex(像NumPy的dstack): 如果行和/或列部分重叠,Pandas将相应地对齐名称...因此,按照速度递增的顺序: 通过g.apply()实现多列范围的自定义函数 通过g.agg()实现单列范围的自定义函数(支持用Cython或Numba加速)。

35120

pandas学习-索引-task13

参考链接: Pandas的布尔索引 一、索引器  表的列索引 列索引是最常见的索引形式,一般通过 [] 来实现。...通过 [列名] 可以从 DataFrame 取出相应的列,返回值为 Series ,例如从表取出姓名一列:  df = pd.read_csv("E:/document/python学习笔记/pandas...[5:3] df_loc_slice_demo.loc[3:5] # 没有返回,说明不是整数位置切片  【d】 * 为布尔列表  实际的数据处理,根据条件来筛选行是极其常见的,此处传入 loc 的布尔列表与...You', 'Gaoqiang Qian')]  最后需要指出的是,对于 Series 也可以使用 loc 索引,其遵循的原则与 DataFrame 中用于行筛选的 loc[*] 完全一致,此处不再赘述...pandas 支持把字符串形式的查询表达式传入 query 方法来查询数据,其表达式的执行结果必须返回布尔列表。

87600

Pandas 2.2 中文官方教程和指南(十一·二)

## 索引的不同选择 为了支持更明确的基于位置的索引,对象选择已经增加了一些用户请求的添加。pandas 现在支持三种类型的多轴索引。 .loc 主要基于标签,但也可以与布尔数组一起使用。...警告 pandas 在从.loc设置Series和DataFrame时会对齐所有轴。 这不会修改df,因为赋值之前列对齐。...注意 对于.iloc索引,不支持从可调用返回元组,因为应用可调用之前会发生行和列索引的元组解构。...如果值是一个数组,则 isin 返回一个布尔值的 DataFrame,其形状与原始 DataFrame 相同,其中 True 表示元素值序列。...以前,可以使用专用的 DataFrame.lookup 方法来实现这一点,该方法版本 1.2.0 已弃用,并在版本 2.0.0 删除。

12210

盘一盘 Python 系列 4 - Pandas (上)

使用 pandas 之前,需要引进它,语法如下: import pandas 这样你就可以用 pandas 里面所有的内置方法 (build-in methods) 了,比如创建一维的 Series...pandas.Series() pandas.DataFrame() 但是每次写 pandas 字数有点多,通常我们给 pandas 起个别名 pd,用以下语法,这样所有出现 pandas 的地方都可以用...Pandas 里最基本的数据结构 DataFrame: 二维数据,类似于 R 的 data.frame 或 Matlab 的 Tables。...(Hint: 看看两组里冒号 : 不同位置,再想想 DataFrame 每一行和每一列数据的特点) 布尔索引 〖数组计算之 NumPy (上)〗提过,布尔索引就是用一个由布尔类型值组成的数组来选择元素的方法...用 MultiIndex 可以创建多层索引的对象,获取 DataFrame df 的信息可用 df.loc[1st].loc[2nd] df.loc[1st].iloc[2nd] df.iloc[1st

6.1K52

Pandas

需要注意的是 loc 函数的第一个参数不能直接传入整数,可以考虑送个列表进去 DataFrame.iloc[]访问 使用方法与 loc 相似,主要区别是该函数使用时对列的索引可以用列索引号。...也可以通过建立一个 Series 通过赋值运算把两个中索引一致的位置进行修改 添加或者删除行/列 添加行或者列可以通过直接赋值的方法进行修改 xy123.loc[xy123['x']<=3,'x'...支持处理格式上间隔不相等的时间序列数据,但是有的时候我们希望生成或者转化成一些间隔相同时间序列数据。...数据横向、纵向堆叠:pandas.concat([],axis=,join=)(可以通过 keys 来合并轴上创建层次索引) s1=pd.DataFrame( { 'height...().T 除此以外可以对其参数进行调整,来对df其他类型的变量进行统计描述,具体调整细节help即可,这里不再赘述。

9.1K30

Pandas图鉴(二):Series 和 Index

Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。...Pandas,它被称为MultiIndex(第4部分),索引内的每一列都被称为level。 索引的另一个重要特性是它是不可改变的。与DataFrame的普通列相比,你不能就地修改它。...索引有一个名字(MultiIndex的情况下,每一层都有一个名字)。而这个名字Pandas没有被充分使用。...一旦索引包含了列,就不能再使用方便的df.column_name符号了,而必须恢复到不太容易阅读的df.index或者更通用的df.loc[]。有了MultiIndex。...现在你知道它们的存在,可以选择通过删除、用常量值填充或值来摆脱它们,如下所示: fillna(), dropna(), interpolate() 另一方面,可以继续使用它们。

22320

Pandas 2.2 中文官方教程和指南(十一·一)

pandas 的 ExtensionArray 接口 实现的;因此, pandas API 中集成了此接口的地方存在支持的功能。...pandas 的ExtensionArray 接口实现的;因此, pandas API 中集成了此接口的地方存在支持的功能。... MultiIndex / 高级索引查看 MultiIndex 和更高级的索引文档。 食谱查看一些高级策略。...不同的索引选择 为了支持更明确的基于位置的索引,对象选择已经增加了一些用户请求的内容。pandas 现在支持三种类型的多轴索引。 .loc 主要基于标签,但也可以与布尔数组一起使用。...警告 当使用.loc设置Series和DataFrame时,pandas 会对齐所有轴。 这不会修改df,因为列对齐是赋值之前进行的。

27010

Pandas笔记

(df[2:4]) loc是针对DataFrame索引名称的切片方法。...loc方法使用方法如下: ​ 只支持索引名称,不支持索引位置 import pandas as pd d = {'one' : pd.Series([1, 2, 3], index=['a', 'b'...的行 df = df.drop(0) print(df) 修改DataFrame的数据 (访问) 更改DataFrame的数据,原理是将这部分数据提取出来,重新赋值为新的数据。...,赋值修改的话 # 只能采用通过列,找行的方式,因为底层有赋值的过程 # 如果通过行找列,因为底层没有赋值的过程,所以没有效果,不会修改成功 ⭐️复合索引 DataFrame的行级索引与列级索引都可以设置为复合索引...df.Age['20+'] df['Age'] df['Age', '20+'] 数据加载 读HTML的内容,要求:HTML必须要有table标签 ⭐️处理普通文本 读取文本:read_csv

7.6K10

Pandas 2.2 中文官方教程和指南(二十五·一)

使 Matplotlib 看起来像 R 设置 x 轴主要和次要标签 IPython Jupyter 笔记本绘制多个图表 创建多行图 绘制热力图 注释时间序列图 注释时间序列图 #2 使用 Pandas...解析多列的日期组件 使用格式多列��析日期组件更快 In [196]: i = pd.date_range("20000101", periods=10000) In [197]: df = pd.DataFrame...文档 [从类文件句柄读取](https://stackoverflow.com/questions/15588713/sheets-of-excel-workbook-from-a-url-into-a-pandas-dataframe.../20428786#20428786) [创建唯一索引的同时追加到存储](https://stackoverflow.com/questions/16997048/how-does-one-append-large-amounts-of-data-to-a-pandas-hdfstore-and-get-a-natural...我们建议使用 HDF5 或 parquet,这两者都受到 pandas 的 IO 设施支持

24800
领券