首页
学习
活动
专区
圈层
工具
发布

15个基本且常用Pandas代码片段

Pandas提供了强大的数据操作和分析功能,是数据科学的日常基本工具。在本文中,我们将介绍最常用的15个Pandas代码片段。这些片段将帮助简化数据分析任务,从数据集中提取有价值的见解。...1、过滤数据 Pandas提供了多种方法来过滤数据。...id_vars:需要保留的列,它们将成为长格式中的标识变量(identifier variable),不被"融化"。 value_vars:需要"融化"的列,它们将被整合成一列,并用新的列名表示。...var_name:用于存储"融化"后的列名的新列的名称。 value_name:用于存储"融化"后的值的新列的名称。...将数据列转换为分类类型有助于节省内存和提高性能,特别是当数据列中包含有限的不同取值时。

1.2K10

【愚公系列】2023年07月 Pandas数据分析之DataFrames

一、Pandas 数据分析DataFrames 1.DataFrames原理分析 Pandas的主要数据结构是DataFrame。它将一个二维数组与它的行和列的标签捆绑在一起。...4.DataFrames的基本操作 DataFrame最好的地方(在我看来)是你可以: 轻松访问其列,如d.area返回列值(或者df[’ Area ']——适用于包含空格的列名) 将列作为自变量进行操作...更多信息见下图: 注意,创建新列时,即使列名中不包含空格,也必须使用方括号。...为了满足这些需求,dataframes,就像series一样,有两种可选的索引模式:按标签索引的loc和按位置索引的iloc。 在Pandas中,引用多行/多列是一个副本,而不是视图。...就像1:1关系一样,在Pandas中连接一对1:n相关的表,你有两种选择。如果要合并的列或者不在索引中,并且可以丢弃碰巧在两张表的索引中都存在的列,则使用merge。

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

    数据分析之Pandas VS SQL!

    SQL VS Pandas SELECT(数据选择) 在SQL中,选择是使用逗号分隔的列列表(或*来选择所有列): ? 在Pandas中,选择不但可根据列名称选取,还可以根据列所在的位置选取。...WHERE(数据过滤) 在SQL中,过滤是通过WHERE子句完成的: ? 在pandas中,Dataframe可以通过多种方式进行过滤,最直观的是使用布尔索引: ?...宝器带你画重点: subset,为选定的列做数据去重,默认为所有列; keep,可选择{'first', 'last', False},保留重复元素中的第一个、最后一个,或全部删除; inplace ,...这是因为count()将函数应用于每个列,返回每个列中的非空记录的数量。具体如下: ? 还可以同时应用多个函数。例如,假设我们想要查看每个星期中每天的小费金额有什么不同。 SQL: ?...默认情况下,join()将联接其索引上的DataFrames。 每个方法都有参数,允许指定要执行的连接类型(LEFT, RIGHT, INNER, FULL)或要连接的列(列名或索引) ?

    3.9K20

    一款可以像操作Excel一样玩Pandas的可视化神器来了!

    04 实战练习 这次我们拿大名鼎鼎的泰坦尼克数据集来做练习,一起看一下用这款神器如何分析,还是用上面的几行示例代码来启动PandaGui: 在首页中我们可以看到数据的大小维数(第一个红框)891*12...下面以直方图和词云为例子向大家进行展示: 上图绘制了年龄大于30的船上游客的年龄直方图,可以看到Filter工具在画图时仍可以同时使用。 上图以名字为例子,绘制了船上人员名字的词云图。...它包含了DataFrames的基本属性,实际上代表了DataFrames的两个方法,df.melt(),df.pivot(),以图像化的形式进行了展现。...这里以pivot进行展示:pivot()参数:values:对应的二维NumPy值数组。columns:列索引:列名称。index:行的索引:行号或行名。...aggfun: 使用方法 上图中以Sex为行索引,Age为列索引,Fare系统值,操作后的表格展示为: 在上图中,我们可以看到,在最左边增加了df_pivot的DataFrames数据,每操作一次,会增加一个

    1.7K20

    Pandas图鉴(三):DataFrames

    使用DataFrame的基本操作 关于DataFrame最好的事情是你可以: 很容易访问它的列,例如,df.area返回列值(或者,df['area']-适合包含空格的列名)。...DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 在Pandas中,引用多行/列是一种复制,而不是一种视图。...如果该列已经在索引中,你可以使用join(这只是merge的一个别名,left_index或right_index设置为True,默认值不同)。...与普通模式相比,这种模式有些限制: 它没有提供一个解决重复列的方法; 它只适用于1:1的关系(索引到索引的连接)。 因此,多个1:n的关系应该被逐一连接。'...比如说: 一个解决方案是使用ignore_index=True,它告诉concat在连接后重置行名: 在这种情况下,可以将名字列设置为索引。但是对于更复杂的过滤器来说,这就没有什么用了。

    4.7K20

    Pandas实用手册(PART I)

    在需要管理多个DataFrames时你会需要用更有意义的名字来代表它们,但在数据科学领域里只要看到df,每个人都会预期它是一个Data Frame,不论是Python或是R语言的使用者。...很多时候你也会需要改变DataFrame 里的列名称: ? 这里也很直观,就是给一个将旧列名对应到新列名的Python dict。...值得注意的是参数axis=1:在pandas里大部分函数预设处理的轴为行(row),以axis=0表示;而将axis设置为1则代表你想以列(column)为单位套用该函数。...前面说过很多pandas函数预设的axis参数为0,代表着以行(row)为单位做特定的操作,在pd.concat的例子中则是将2个同样格式的DataFrames依照axis=0串接起来。...完整显示所有列 有时候一个DataFrame 里头的栏位太多, pandas 会自动省略某些中间栏位以保持页面整洁: ?

    2.6K31

    Python八种数据导入方法,你掌握了吗?

    大多数情况下,会使用NumPy或Pandas来导入数据,因此在开始之前,先执行: import numpy as np import pandas as pd 两种获取help的方法 很多时候对一些函数方法不是很了解...Flat 文件是一种包含没有相对关系结构的记录的文件。(支持Excel、CSV和Tab分割符文件 ) 具有一种数据类型的文件 用于分隔值的字符串跳过前两行。 在第一列和第三列读取结果数组的类型。...comment='#', # 分隔注释的字符 na_values=[""]) # 可以识别为NA/NaN的字符串 二、Excel 电子表格 Pandas中的...ExcelFile()是pandas中对excel表格文件进行读取相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便。...索引 df.columns # 返回DataFrames列名 df.info() # 返回DataFrames基本信息 data_array = data.values # 将DataFrames转换为

    4.4K40

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

    DataFrame Pandas 中的 DataFrame 类似于 Excel 工作表。虽然 Excel 工作簿可以包含多个工作表,但 Pandas DataFrames 独立存在。 3....在 Pandas 中,索引可以设置为一个(或多个)唯一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些索引值实际上可用于引用行。...过滤 在 Excel 中,过滤是通过图形菜单完成的。 可以通过多种方式过滤数据框,其中最直观的是使用布尔索引。...在 Pandas 中,您通常希望在使用日期进行计算时将日期保留为日期时间对象。输出部分日期(例如年份)是通过电子表格中的日期函数和 Pandas 中的日期时间属性完成的。...填充柄 在一组特定的单元格中按照设定的模式创建一系列数字。在电子表格中,这将在输入第一个数字后通过 shift+drag 或通过输入前两个或三个值然后拖动来完成。

    25.5K20

    针对SAS用户:Python数据分析库pandas

    pandas为 Python开发者提供高性能、易用的数据结构和数据分析工具。该包基于NumPy(发音‘numb pie’)中,一个基本的科学计算包,提供ndarray,一个用于数组运算的高性能对象。...可以认为Series是一个索引、一维数组、类似一列值。可以认为DataFrames是包含行和列的二维数组索引。好比Excel单元格按行和列位置寻址。...下表比较在SAS中发现的pandas组件。 ? 第6章,理解索引中详细地介绍DataFrame和Series索引。...df.columns返回DataFrame中的列名称序列。 ? 虽然这给出了期望的结果,但是有更好的方法。...显然,这会丢弃大量的“好”数据。thresh参数允许您指定要为行或列保留的最小非空值。在这种情况下,行"d"被删除,因为它只包含3个非空值。 ? ? 可以插入或替换缺失值,而不是删除行和列。.

    15.9K20

    python:Pandas里千万不能做的5件事

    错误3:让Pandas消耗内存来猜测数据类型 当你把数据导入到 DataFrame 中,没有特别告诉 Pandas 列和数据类型时,Pandas 会把整个数据集读到内存中,只是为了弄清数据类型而已。...例如,如果你有一列全是文本的数据,Pandas 会读取每一个值,看到它们都是字符串,并将该列的数据类型设置为 "string"。然后它对你的所有其他列重复这个过程。...除非你在折腾很小的数据集,或者你的列是不断变化的,否则你应该总是指定数据类型。 每次指定数据类型是一个好习惯。 为了做到这一点,只需添加 dtypes 参数和一个包含列名及其数据类型的字符串的字典。...在一行中把多个 DataFrame 修改链在一起(只要不使你的代码不可读):df = df.apply(something).dropna() 正如国外大牛 Roberto Bruno Martins...Matplotlib 是由 Pandas 自动导入的,它甚至会在每个 DataFrame 上为你设置一些图表配置。既然已经为你在 Pandas 中内置了它,那就没有必要再为每张图表导入和配置了。

    2K20

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

    有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。 ?...更改列名 让我们来看一下刚才我们创建的示例DataFrame: ? 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...按行从多个文件中构建DataFrame 假设你的数据集分化为多个文件,但是你需要将这些数据集读到一个DataFrame中。 举例来说,我有一些关于股票的小数聚集,每个数据集为单天的CSV文件。...比如我们想要对该DataFrame进行过滤,我们只想显示genre为Action或者Drama或者Western的电影,我们可以使用多个条件,以"or"符号分隔: ?...如果你想要进行相反的过滤,也就是你将吧刚才的三种类型的电影排除掉,那么你可以在过滤条件前加上破浪号: ? 这种方法能够起作用是因为在Python中,波浪号表示“not”操作。 14.

    4.5K10

    使用Pandas melt()重塑DataFrame

    最简单的melt 最简单的melt()不需要任何参数,它将所有列变成行(显示为列变量)并在新列值中列出所有关联值。...df_wide.melt( id_vars='Country', ) 现在行数为 15,因为 Country 列中的每个值都有 5 个值(3 X 5 = 15)。...ID Melt() 最有用的特性之一是我们可以指定多个 id 以将它们保留为列。...有两个问题: 确认、死亡和恢复保存在不同的 CSV 文件中。将它们绘制在一张图中并不简单。 日期显示为列名,它们很难执行逐日计算,例如计算每日新病例、新死亡人数和新康复人数。...: 请注意,列都是从第 4 列开始的日期,并获取确认的日期列表 df.columns [4:] 在合并之前,我们需要使用melt() 将DataFrames 从当前的宽格式逆透视为长格式。

    4.4K11

    人工智能之数据分析 Pandas:第二章 Series

    人工智能之数据分析 Pandas第二章 Series前言Pandas 的 Series 是其最基础、最核心的一维数据结构,是学习 Pandas 的起点。...Series 是一个带标签索引的一维数组,由两部分组成:values(值):实际存储的数据,底层为 NumPy 数组(ndarray),支持整数、浮点、字符串、布尔值等任意类型,也可包含缺失值 NaN。...→ data# 若指定 index 中有字典未包含的键,则对应值为 NaNs5 = pd.Series(data_dict, index=['数学', '物理']) # 输出:数学 90.0,物理...= NaN,不能用 == 判断,应使用 isnull() 或 pd.isna()含 NaN 的 Series,dtype 通常为 float64索引可重复,但慎用重复索引会导致 s['key'] 返回多个值...;是构建 DataFrame 的基本单元(DataFrame 的每一列就是一个 Series);掌握 Series,就掌握了 Pandas 数据操作的核心逻辑。

    31410

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

    有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。...3更改列名 我们来看一下刚才我们创建的示例DataFrame: df 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...按行从多个文件中构建DataFrame 假设你的数据集分化为多个文件,但是你需要将这些数据集读到一个DataFrame中。 举例来说,我有一些关于股票的小数聚集,每个数据集为单天的CSV文件。...更好的方式为使用内置的glob模块。你可以给glob()函数传递某种模式,包括未知字符,这样它会返回符合该某事的文件列表。...按列从多个文件中构建DataFrame 上一个技巧对于数据集中每个文件包含行记录很有用。但是如果数据集中的每个文件包含的列信息呢?

    7.7K50

    20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

    Isin 在处理数据帧时,我们经常使用过滤或选择方法。Isin是一种先进的筛选方法。例如,我们可以根据选择列表筛选数据。...Melt Melt用于将维数较大的 dataframe转换为维数较少的 dataframe。一些dataframe列中包含连续的度量或变量。在某些情况下,将这些列表示为行可能更适合我们的任务。...我们有三个不同的城市,在不同的日子进行测量。我们决定将这些日子表示为列中的行。还将有一列显示测量值。...Explode 假设数据集在一个观测(行)中包含一个要素的多个条目,但您希望在单独的行中分析它们。 ? 我们想在不同的行上看到“c”的测量值,这很容易用explode来完成。...例如,我们可以使用pandas dataframes的style属性更改dataframe的样式。

    7.3K30

    Pandas图鉴(一):Pandas vs Numpy

    Pandas可以在一个步骤中完成。...3.增加一列 从语法和架构上来说,用Pandas添加列要好得多: Pandas不需要像NumPy那样为整个数组重新分配内存;它只是为新的列添加一个引用,并更新一个列名的 registry。...Pandas连接有所有熟悉的 inner, left, right, 和 full outer 连接模式。 6.按列分组 数据分析中另一个常见的操作是按列分组。...下面是1行和1亿行的结果: 从测试结果来看,似乎在每一个操作中,Pandas都比NumPy慢!而这并不意味着Pandas的速度比NumPy慢! 当列的数量增加时,没有什么变化。...在Pandas中,做了大量的工作来统一NaN在所有支持的数据类型中的用法。根据定义(在CPU层面上强制执行),nan+任何东西的结果都是nan。

    1.2K50
    领券