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

整理了 25 个 Pandas 实用技巧,拿走不谢!

更改列名 让我们来看一下刚才我们创建示例DataFrame: ? 更喜欢选取pandas时候使用点(.),但是这对那么列名中含有空格不会生效。让我们来修复这个问题。...你可以对前两使用astype()函数: ? 但是,如果你对第三使用这个函数,将会引起错误,这是因为这一列包含了破折号(用来表示0)但是pandas并不知道如何处理它。...Seriesnlargest()函数能够轻松地计算出Series中前3个最大值: ? 事实上我们Series中需要是索引: ?...你将会注意到有些值是缺失。 为了找出每一列中有多少值是缺失,你可以使用isna()函数,然后再使用sum(): ?...比这个函数输入小: ? 解决办法是使用transform()函数,它会执行相同操作但是返回与输入数据相同形状: ? 我们将这个结果存储至DataFrame中新一列: ?

3.2K10

直观地解释和可视化每个复杂DataFrame操作

包含将转换为两一列用于变量(值名称),另一列用于值(变量中包含数字)。 ? 结果是ID值(a,b,c)和值(B,C)及其对应值每种组合,以列表格式组织。...可以按照与堆叠相同方式执行堆叠,但是要使用level参数: df.unstack(level = -1)。 Merge 合并两个DataFrame共享“键”之间按(水平)组合它们。...默认情况下,合并功能执行内部联接:如果每个DataFrame键名均未列另一个键中,则键不包含在合并DataFrame中。...另一方面,如果一个键同一DataFrame中列出两次,则在合并表中将列出同一键每个值组合。...因此,它接受连接DataFrame列表。 如果一个DataFrame另一列包含,默认情况下将包含,缺失值列为NaN。

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

整理了25个Pandas实用技巧

神奇是,pandas已经将第一列作为索引了: ? 需要注意是,如果你想要你工作未来可复制,那么read_clipboard()并不值得推荐。...Seriesnlargest()函数能够轻松地计算出Series中前3个最大值: ? 事实上我们Series中需要是索引: ?...你将会注意到有些值是缺失。 为了找出每一列中有多少值是缺失,你可以使用isna()函数,然后再使用sum(): ?...类似地,你可以通过mean()和isna()函数找出每一列中缺失值百分比。 ? 如果你想要舍弃那些包含了缺失值,你可以使用dropna()函数: ?...一个字符串划分成多 我们先创建另一个新示例DataFrame: ? 如果我们需要将“name”这一列划分为三个独立,用来表示first, middle, last name呢?

2.8K40

整理了25个Pandas实用技巧(下)

多种类型过滤DataFrame 让我们先看一眼movies这个DataFrame: In [60]: movies.head() Out[60]: 其中有一列是genre(类型): 比如我们想要对...为了找出每一列中有多少值是缺失,你可以使用isna()函数,然后再使用sum(): isna()会产生一个由True和False组成DataFrame,sum()会将所有的True值转换为1,False...一个字符串划分成多 我们先创建另一个新示例DataFrame: 如果我们需要将“name”这一列划分为三个独立,用来表示first, middle, last name呢?...换句话说,sum()函数输出: 比这个函数输入小: 解决办法是使用transform()函数,它会执行相同操作但是返回与输入数据相同形状: 我们将这个结果存储至DataFrame中新一列...: MultiIndexed Series重塑 Titanic数据集Survived由1和0组成,因此你可以对这一列计算存活率: 如果你想对某个类别,比如“Sex”,计算存活率,你可以使用groupby

2.4K10

爱了!0.052s 打开 100GB 数据,这个开源库火爆了!

那么,如果我们检查数据或与数据交互怎么办?打开数据集会生成一个标准DataFrame并对其进行快速检查: 注意,单元执行时间太短了。...无论如何,让我们从极端异常值或错误数据输入值开始清除此数据集。一个很好方法是使用describe方法对数据进行高级概述,其中显示了样本数、缺失值数和每一列数据类型。...使用describe方法获得 DataFrame 高级概览,注意这个 DataFrame 包含 18 数据,不过截图只展示了前 7 。...describe方法很好地体现了Vaex功能和效率:所有这些统计数据都是MacBook Pro(2018款15英寸,2.6GHz Intel Core i7,32GB RAM)上用不到3分钟时间计算出来...筛选Vaex DataFrame时不会复制数据,而是仅创建对原始对象引用引用上应用二进制掩码。用掩码选择要显示行,并将其用于将来计算

78310

0.052秒打开100GB数据?这个Python开源库这样做数据分析

那么,如果我们检查数据或与数据交互怎么办?打开数据集会生成一个标准DataFrame并对其进行快速检查: ? 注意,单元执行时间太短了。...无论如何,让我们从极端异常值或错误数据输入值开始清除此数据集。一个很好方法是使用describe方法对数据进行高级概述,其中显示了样本数、缺失值数和每一列数据类型。...使用describe方法获得 DataFrame 高级概览,注意这个 DataFrame 包含 18 数据,不过截图只展示了前 7 。...describe方法很好地体现了Vaex功能和效率:所有这些统计数据都是MacBook Pro(2018款15英寸,2.6GHz Intel Core i7,32GB RAM)上用不到3分钟时间计算出来...筛选Vaex DataFrame时不会复制数据,而是仅创建对原始对象引用引用上应用二进制掩码。用掩码选择要显示行,并将其用于将来计算

1.2K20

Pandas用了一年,这3个函数是最爱……

01 assign 在数据分析处理中,赋值产生新是非常高频应用场景,简单可能是赋值常数列、复杂可能是由一列产生另外一个一列,对于这种需求pandas有多种方法实现,但个人唯独喜欢assign,...那么,eval作为pandas.dataframe数据结构一个接口,执行功能应该也与执行计算有关。...另一方面,pandas中实际上是内置了大量SQL类语法(包括下面介绍query也是),而eval功能正是执行类似SQL语法中计算,对已知执行一定计算时可用eval完成。...当然,之所以说query中支持类似SQL语法,是因为其也有两个SQL中标志性设计,其一是@引用自定义外部变量,其二是对于特殊列名(例如包含空格字符)可以用反引号``加以修饰引用。...例如,下述例子中C C中有个空格,直接用于字符串表达式会存在报错,此时可使用反引号加以修饰,同时查询条件中应用了@修饰符引用外部变量。当然,与eval中类似,这里当然也可以用f字符串修饰引用

1.8K30

【Python】这25个Pandas高频实用技巧,不得不服!

3更改列名 我们来看一下刚才我们创建示例DataFrame: df 更喜欢选取pandas时候使用点(.),但是这对那么列名中含有空格不会生效。让我们来修复这个问题。...float64 col_three object dtype: object 但是,如果你对第三使用这个函数,将会引起错误,这是因为这一列包含了破折号(用来表示0)但是pandas...如果你对你DataFrame有操作方面的问题,或者你不能将它读进内存,那么在读取文件过程中有两个步骤可以使用来减小DataFrame空间大小。...按从多个文件中构建DataFrame 上一个技巧对于数据集中每个文件包含行记录很有用。但是如果数据集中每个文件包含信息呢?...为了找出每一列中有多少值是缺失,你可以使用isna()函数,然后再使用sum(): ufo.isna().sum() City 25 Colors Reported

6.5K40

Python科学计算之Pandas

而Scipy(会在接下来帖子中提及)当然是另一个主要也十分出色科学计算库,但是认为前三者才是真正Python科学计算支柱。...所以,如果我们取出了某一列,我们获得自然是一个series。 还记得所说命名列标签注意事项吗?不使用空格和横线等可以让我们以访问类属性相同方法来访问,即使用点运算符。 ?...如果你想要多个索引,你可以简单地列表中增加另一个列名。 ? 在上面这个例子中,我们把我们索引值全部设置为了字符串。这意味着我们不可以使用iloc索引这些列了。这种情况如何?我们使用loc。...这里,loc和iloc一样会返回你所索引行数据一个series。唯一不同是此时你使用是字符串标签进行引用,而不是数字标签。 ix是另一个常用引用一行方法。...这便是使用apply方法,即如何一列应用一个函数。如果你想对整个数据集应用某个函数,你可以使用dataset.applymap()。

2.9K00

Pandas图鉴(三):DataFrames

如果已经索引中,你可以使用join(这只是merge一个别名,left_index或right_index设置为True,默认值不同)。...如果merge不在索引中,而且你可以丢弃两个表索引中内容,那么就使用merge,例如: merge()默认执行inner join Merge对行顺序保持不如 Postgres 那样严格...现在,如果合并已经右边DataFrame索引中,请使用join(或者用right_index=True进行合并,这完全是同样事情): join()默认情况下做左外连接 这一次,Pandas...注意:小心,如果第二个表有重复索引值,你会在结果中出现重复索引值,即使左表索引是唯一 有时,连接DataFrame有相同名称。...如果这不可取,你可以使用reset_index()或者指定as_index=False。 通常情况下,DataFrame比你想在结果中看到多。

35720

用过Excel,就会获取pandas数据框架中值、行和

Excel中,我们可以看到行、和单元格,可以使用“=”号或在公式中引用这些值。...Python中,数据存储计算机内存中(即,用户不能直接看到),幸运是pandas库提供了获取值、行和简单方法。 先准备一个数据框架,这样我们就有一些处理东西了。...每种方法都有其优点和缺点,因此应根据具体情况使用不同方法。 点符号 可以键入“df.国家”以获得“国家”,这是一种快速而简单获取方法。但是,如果列名包含空格,那么这种方法行不通。...获取前三行,可以执行以下操作: 图8 使用pandas获取单元格值 获取单个单元格值,我们需要使用行和交集。...记住这种表示法一个更简单方法是:df[列名]提供一列,然后添加另一个[行索引]将提供特定项。 假设我们想获取第2行Mary Jane所在城市。

19K60

手把手教你做一个“渣”数据师,用Python代替老情人Excel

Excel成为“初恋”十年之后,是时候找一个更好另一半”了,在这个技术日新月异时代,更好更薄更轻更快处理数据选择就在身边!...尽管read_excel方法包含数百万个参数,但我们只讨论那些日常操作中最常见那些。 我们使用Iris样本数据集,出于教育目的,数据集可在线免费使用。...使用index_col参数可以操作数据框中索引如果将值0设置为none,它将使用一列作为index。 ?...2、查看多 ? 3、查看特定行 这里使用方法是loc函数,其中我们可以指定以冒号分隔起始行和结束行。注意,索引从0开始而不是1。 ? 4、同时分割行和 ? 5、一列中筛选 ?...11、Excel中复制自定义筛选器 ? 12、合并两个过滤器计算结果 ? 13、包含Excel中功能 ? 14、从DataFrame获取特定值 ?

8.3K30

Python求取Excel指定区域内数据最大值

本文介绍基于Python语言,基于Excel表格文件内某一列数据,计算一列数据每一个指定数量范围内(例如每一个4行范围内)区间最大值方法。   ...已知我们现有一个.csv格式Excel表格文件,其中有一列数据,我们希望对其加以区间最大值计算——即从这一列数据部分(也就是不包括列名部分)开始,第1行到第4行之间最大值、第5行到第8行最大值...、第9行到第12行最大值等等,加以分别计算每4行中最大值;此外,如果一列数据个数不能被4整除,那么到最后还剩余几个,那就对这几个加以最大值求取即可。   ...8个数据区间最大值,所有函数名称是eight,大家理解即可),接受两个参数,分别为输入文件路径excel_file,以及计算区间最大值对应一列列名column_name。   ...变量中,结果是一个包含了每个分组最大值列表。

11520

数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

要想执行数学计算先把这些数据类型转换为数值型,下面的代码用 astype() 方法把前两数据类型转化为 float。 ?...用多个文件建立 DataFrame ~ 按 上个技巧按行合并数据集,但是如果多个文件包含不同怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 。 ?...用一个 DataFrame 合并聚合输出结果 本例用还是 orders。 ? 如果想新增一列,为每行列出订单总价,怎么操作?上面介绍过用 sum() 计算总价。 ?...重塑多重索引 Series 泰坦尼克数据集里有一列标注了幸存(Survived)状态,值用 0、1 代表。计算平均值可以计算整体幸存率。 ?...年龄列有 1 位小数,票价列有 4 位小数,如何将这两显示小数位数标准化? 用以下代码让这两只显示 2 位小数。 ? 第一个参数是设置选项名称,第二个参数是 Python 字符串格式。

7.1K20

Pandas 25 式

要想执行数学计算先把这些数据类型转换为数值型,下面的代码用 astype() 方法把前两数据类型转化为 float。 ?...用多个文件建立 DataFrame ~ 按 上个技巧按行合并数据集,但是如果多个文件包含不同怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 。 ?...用一个 DataFrame 合并聚合输出结果 本例用还是 orders。 ? 如果想新增一列,为每行列出订单总价,怎么操作?上面介绍过用 sum() 计算总价。 ?...重塑多重索引 Series 泰坦尼克数据集里有一列标注了幸存(Survived)状态,值用 0、1 代表。计算平均值可以计算整体幸存率。 ?...年龄列有 1 位小数,票价列有 4 位小数,如何将这两显示小数位数标准化? 用以下代码让这两只显示 2 位小数。 ? 第一个参数是设置选项名称,第二个参数是 Python 字符串格式。

8.4K00

Python进阶之Pandas入门(四) 数据清理

处理空值有两种选择: 去掉带有空值行或 用非空值替换空值,这种技术称为imputation 让我们计算数据集一列空值总数。...这显然是一种浪费,因为在那些被删除其他中有非常好数据。...可能会有这样情况,删除每一行空值会从数据集中删除太大数据块,所以我们可以用另一个值来代替这个空值,通常是平均值或中值。 让我们看看在revenue_millions中输入缺失值。...首先,我们将该提取到它自己变量: revenue = movies_df['revenue_millions'] 这里使用方括号是我们DataFrame中选择一般方法。...如果您还记得我们从零开始创建DataFrames时,dict键最后是列名。现在,当我们选择DataFrame时,我们使用方括号,就像访问Python字典一样。

1.8K60

Pandas入门教程

沿其连接轴。 join: {'inner', 'outer'}, 默认为 'outer'。如何处理其他轴上索引。外部用于联合,内部用于交集。...如果为 True,则不要使用串联轴上索引值。结果轴将被标记为 0, …, n - 1。如果您在连接轴没有有意义索引信息情况下连接对象,这将非常有用。请注意,其他轴上索引值连接中仍然有效。...使用传递键作为最外层构建分层索引。如果通过了多个级别,则应包含元组。 levels: 序列列表,默认无。用于构建 MultiIndex 特定级别(唯一值)。否则,它们将从密钥中推断出来。...或命名 Series 对象;right:另一DataFrame 或命名 Series 对象; on: 加入或索引级别名称; left_on:左侧 DataFrame 或 Series 或索引级别用作键...可以是列名称、索引级别名称或长度等于 DataFrame 或 Series 长度数组 left_index:如果True,则使用左侧 DataFrame 或 Series 中索引(行标签)作为其连接键

1K30

快速提升效率6个pandas使用小技巧

以下面这个excel数据表为例,全部选中,按ctrl+c复制: 然后python中执行pd.read_clipboard(),就能得到一模一样dataframe数据表: pd.read_clipboard...如果只要需要数值,也就是数据类型为int、float,可以通过select_dtypes方法实现: df.select_dtypes(include='number').head() 选择除数据类型为...,并且给出了非缺失值数量,你可以计算列有多少缺失值。...删除包含缺失值行: df.dropna(axis = 0) 删除包含缺失值: df.dropna(axis = 1) 如果一列里缺失值超过10%,则删除: df.dropna(thresh...从多个文件中构建一个DataFrame 有时候数据集可能分布多个excel或者csv文件中,但需要把它读取到一个DataFrame中,这样需求如何实现?

3.3K10

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

由于许多潜在 Pandas 用户对 Excel 电子表格有一定了解,因此本页旨在提供一些案例,说明如何使用 Pandas 执行各Excel电子表格各种操作。...Series 序列是表示 DataFrame 一列数据结构。使用序列类似于引用电子表格。 4. Index 每个 DataFrame 和 Series 都有一个索引,它们是数据行上标签。... Pandas 中,索引可以设置为一个(或多个)唯一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些索引值实际上可用于引用行。...pandas 通过 DataFrame 中指定单个系列来提供矢量化操作。可以以相同方式分配新DataFrame.drop() 方法从 DataFrame 中删除一列。...选择 Excel电子表格中,您可以通过以下方式选择所需: 隐藏; 删除引用从一个工作表到另一个工作表范围; 由于Excel电子表格通常在标题行中命名,因此重命名列只需更改第一个单元格中文本即可

19.5K20

Pandas使用技巧:如何将运行内存占用降低90%!

pandas 会自动为我们检测数据类型,发现其中有 83 数据是数值,78 是 object。object 是指有字符串或包含混合数据类型情况。...当我们将一列转换成 category dtype 时,pandas 就使用最节省空间 int 子类型来表示所有不同值。...因为这一列不仅存储所有的原始字符串值,还要额外存储它们整型值代码。...我们还可以执行另一项优化——如果你记得前面给出数据类型表,你知道还有一个 datetime 类型。这个数据集一列就可以使用这个类型。...首先,我们可将每一列最终类型存储一个词典中,其中键值表示列名称,首先移除日期,因为日期需要不同处理方式。

3.5K20
领券