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

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

目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 按数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...创建 DataFrame 创建 DataFrame 的方式有很多,比如,可以把字典传递给 DataFrame 构建器,字典的 Key 是列名,字典的 Value 为列表,是 DataFrame 的列的值...这种方式的优点是可以重命名任意数量的列,一列、多列、所有列都可以。 还有一种简单的方式可以一次性重命名所有列,即,直接为列的属性赋值。 ?...把 DataFrame 分割为两个随机子集 把 DataFrame 分为两个随机子集,一个占 75% 的数据量,另一个是剩下的 25%。 以 Movies 为例,该数据有 979 条记录。 ?...通过赋值语句,把这两列添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果的一列,该怎么操作? ? 要是只想保留城市列,可以选择只把城市加到 DataFrame 里。 ?

7.2K20

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

你可以查看到Python,pandas, Numpy, matplotlib等的版本信息。 2. 创建示例DataFrame 假设你需要创建一个示例DataFrame。...更改列名 让我们来看一下刚才我们创建的示例DataFrame: ? 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...将字符型转换为数值型 让我们来创建另一个示例DataFrame: ? 这些数字实际上储存为字符型,导致其数据类型为object: ? 为了对这些列进行数学运算,我们需要将数据类型转换成数值型。...该Series的nlargest()函数能够轻松地计算出Series中前3个最大值: ? 事实上我们在该Series中需要的是索引: ?...我们将这个结果存储至DataFrame中新的一列: ? 你可以看到,每个订单的总价格在每一行中显示出来了。 这样我们就能方便地甲酸每个订单的价格占该订单的总价格的百分比: ? 20.

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

    Pandas 25 式

    目录 查看 pandas 及其支持项的版本 创建 DataFrame 重命名列 反转行序 反转列序 按数据类型选择列 把字符串转换为数值 优化 DataFrame 大小 用多个文件建立 DataFrame...创建 DataFrame 创建 DataFrame 的方式有很多,比如,可以把字典传递给 DataFrame 构建器,字典的 Key 是列名,字典的 Value 为列表,是 DataFrame 的列的值...这种方式的优点是可以重命名任意数量的列,一列、多列、所有列都可以。 还有一种简单的方式可以一次性重命名所有列,即,直接为列的属性赋值。 ?...把 DataFrame 分割为两个随机子集 把 DataFrame 分为两个随机子集,一个占 75% 的数据量,另一个是剩下的 25%。 以 Movies 为例,该数据有 979 条记录。 ?...通过赋值语句,把这两列添加到原 DataFrame。 ? 如果想分割字符串,但只想保留分割结果的一列,该怎么操作? ? 要是只想保留城市列,可以选择只把城市加到 DataFrame 里。 ?

    8.4K00

    整理了25个Pandas实用技巧

    从剪贴板中创建DataFrame 假设你将一些数据储存在Excel或者Google Sheet中,你又想要尽快地将他们读取至DataFrame中。 你需要选择这些数据并复制至剪贴板。...该Series的nlargest()函数能够轻松地计算出Series中前3个最大值: ? 事实上我们在该Series中需要的是索引: ?...如果我们只想保留第0列作为city name,我们仅需要选择那一列并保存至DataFrame: ? Series扩展成DataFrame 让我们创建一个新的示例DataFrame: ?...我们可以通过链式调用函数来应用更多的格式化: ? 我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?...那么你可以使用pandas-profiling这个模块。 在你的系统上安装好该模块,然后使用ProfileReport()函数,传递的参数为任何一个DataFrame。

    2.8K40

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

    从剪贴板中创建DataFrame 假设你将一些数据储存在Excel或者Google Sheet中,你又想要尽快地将他们读取至DataFrame中。 你需要选择这些数据并复制至剪贴板。...注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。...我们对genre使用value_counts()函数,并将它保存成counts(type为Series): 该Series的nlargest()函数能够轻松地计算出Series中前3个最大值: 事实上我们在该...一个字符串划分成多列 我们先创建另一个新的示例DataFrame: 如果我们需要将“name”这一列划分为三个独立的列,用来表示first, middle, last name呢?...比如说,让我们以", "来划分location这一列: 如果我们只想保留第0列作为city name,我们仅需要选择那一列并保存至DataFrame: Series扩展成DataFrame 让我们创建一个新的示例

    2.4K10

    Python数据分析-pandas库入门

    pandas使用最多的数据结构对象是 DataFrame,它是一个面向列(column-oriented)的二维表结构,另一个是 Series,一个一维的标签化数组对象。...虽然 DataFrame 是以二维结构保存数据的,但你仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是 pandas中许多高级数据处理功能的关键要素 ) 创建 DataFrame 的办法有很多...,可以将 DataFrame 的列获取为一个 Series,代码示例: frame2['state'] frame2.state 列可以通过赋值的方式进行修改,赋值方式类似 Series。...two', 'four','five']) frame2.debt = val frame2 为不存在的列赋值会创建出一个新列。...作为 pandas 库的基本结构的一些特性,如何创建 pandas 对象、指定 columns 和 index 创建 Series 和 DataFrame 对象、赋值操作、属性获取、索引对象等,这章介绍操作

    3.7K20

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

    有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。...3更改列名 我们来看一下刚才我们创建的示例DataFrame: df 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...从剪贴板中创建DataFrame 假设你将一些数据储存在Excel或者Google Sheet中,你又想要尽快地将他们读取至DataFrame中。 你需要选择这些数据并复制至剪贴板。...读者注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。 13....那么你可以使用pandas-profiling这个模块。在你的系统上安装好该模块,然后使用ProfileReport()函数,传递的参数为任何一个DataFrame。

    6.6K50

    pandas入门:Series、DataFrame、Index基本操作都有了!

    pandas应用领域广泛,包括金融、经济、统计、分析等学术和商业领域。本文将介绍pandas中Series、DataFrame、Index等常用类的基本用法。...代码清单6-1 通过ndarray创建Series import pandas as pd import numpy as np print('通过ndarray创建的Series为:\n',...更新、插入和删除 类似Series,更新DataFrame列也采用赋值的方法,对指定列赋值即可,如代码清单6-15所示。...创建Index Index对象可以通过pandas.Index()函数创建,也可以通过创建数据对象Series、DataFrame时接收index(或column)参数创建,前者属于显式创建,后者属于隐式创建...:计算两个Index对象的并集 isin:计算一个Index是否在另一个Index,返回bool数组 delete:删除指定Index的元素,并得到新的Index drop:删除传入的值,并得到新的Index

    4.5K30

    Python 数据处理:Pandas库的使用

    ('b' in obj2) print('e' in obj2) 如果数据被存放在一个Python的字典中,也可以直接通过这个字典来创建Series: import pandas as pd sdata...= pd.Series([-1.2, -1.5, -1.7], index=['two', 'four', 'five']) frame2['debt'] = val print(frame2) 为不存在的列赋值会创建出一个新列...字典键或Series索引的并集将会成为DataFrame的列标 由列表或元组组成的列表 类似于“二维ndarray" 另一个DataFrame 该DataFrame的索引将会被沿用,除非显式指定了其他索引...---- 2.6 算术运算和数据对齐 Pandas 最重要的一个功能是,它可以对不同索引的对象进行算术运算。在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集。...) ---- 2.7 在算术方法中填充值 在对不同索引的对象进行算术运算时,你可能希望当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值(比如0): import pandas as pd

    22.8K10

    pandas | 使用pandas进行数据处理——DataFrame篇

    当我们在jupyter输出的时候,它会自动为我们将DataFrame中的内容以表格的形式展现。...如果是一些比较特殊格式的,也没有关系,我们使用read_table,它可以从各种文本文件中读取数据,通过传入分隔符等参数完成创建。...通过它我们可以查看DataFrame最后指定条数的数据: ? 列的增删改查 前面我们曾经提到过,对于DataFrame而言,它其实相当于Series组合成的dict。...我们要创建一个新的列也很简单,我们可以像是dict赋值一样,直接为DataFrame赋值即可: ? 赋值的对象并不是只能是实数,也可以是一个数组: ?...我们要修改某一列也非常简单,也是通过赋值一样的方法覆盖原数据即可。

    3.5K10

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

    有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。 ?...更改列名 让我们来看一下刚才我们创建的示例DataFrame: ? 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...将字符型转换为数值型 让我们来创建另一个示例DataFrame: ? 这些数字实际上储存为字符型,导致其数据类型为object: ? 为了对这些列进行数学运算,我们需要将数据类型转换成数值型。...通过将continent列读取为category数据类型,我们进一步地把DataFrame的空间大小缩小至2.3KB。...按行从多个文件中构建DataFrame 假设你的数据集分化为多个文件,但是你需要将这些数据集读到一个DataFrame中。 举例来说,我有一些关于股票的小数聚集,每个数据集为单天的CSV文件。

    2.2K20

    PySpark SQL——SQL和pd.DataFrame的结合体

    ,以及对单列进行简单的运算和变换,具体应用场景可参考pd.DataFrame中赋值新列的用法,例如下述例子中首先通过"*"关键字提取现有的所有列,而后通过df.age+1构造了名字为(age+1)的新列...:删除指定列 最后,再介绍DataFrame的几个通用的常规方法: withColumn:在创建新列或修改已有列时较为常用,接收两个参数,其中第一个参数为函数执行后的列名(若当前已有则执行修改,否则创建新列...),第二个参数则为该列取值,可以是常数也可以是根据已有列进行某种运算得到,返回值是一个调整了相应列后的新DataFrame # 根据age列创建一个名为ageNew的新列 df.withColumn('...DataFrame基础上增加或修改一列,并返回新的DataFrame(包括原有其他列),适用于仅创建或修改单列;而select准确的讲是筛选新列,仅仅是在筛选过程中可以通过添加运算或表达式实现创建多个新列...,返回一个筛选新列的DataFrame,而且是筛选多少列就返回多少列,适用于同时创建多列的情况(官方文档建议出于性能考虑和防止内存溢出,在创建多列时首选select) show:将DataFrame显示打印

    10K20

    Pandas笔记

    pandas介绍 Python Data Analysis Library pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。...并对该索引下的数据进行赋值操作即可。...创建新的列时,要给出原有dataframe的index,不足时为NaN 列删除 删除某列数据需要用到pandas提供的方法pop,pop方法的用法如下: import pandas as pd d =...的行 df = df.drop(0) print(df) 修改DataFrame中的数据 (访问) 更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。...,赋值修改的话 # 只能采用通过列,找行的方式,因为底层有赋值的过程 # 如果通过行找列,因为底层没有赋值的过程,所以没有效果,不会修改成功 ⭐️复合索引 DataFrame的行级索引与列级索引都可以设置为复合索引

    7.7K10

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

    在使用pandas中的Series数据结构时,可通过pandas点Series调用。...,'\n该数据类型为:',type(frame.values)) # 查看数据,数据类型为dataframe # .index查看行标签 # .columns查看列标签 # .values查看值,数据类型为...'a','b','c','d']) print(df) df['e'] = 10 df.loc[4] = 20 print(df) # 新增列/行并赋值 df['e'] = 20 df[['a','...pandas中使用reindex()方法实现重新索引功能,该方法会参照原有的Series类对象或DataFrame类对象的索引设置数据:若该索引存在于新对象中,则其对应的数据设为原数据,否则填充为缺失值...使用[]访问数据 变量[索引] 需要说明的是,若变量的值是一个Series类对象,则会根据索引获取该对象中对应的单个数据;若变量的值是一个DataFrame类对象,在使用“[索引]”访问数据时会将索引视为列索引

    14K20

    【如何在 Pandas DataFrame 中插入一列】

    然而,对于新手来说,在DataFrame中插入一列可能是一个令人困惑的问题。在本文中,我们将分享如何解决这个问题的方法,并帮助读者更好地利用Pandas进行数据处理。...解决在DataFrame中插入一列的问题是学习和使用Pandas的必要步骤,也是提高数据处理和分析能力的关键所在。 在 Pandas DataFrame 中插入一个新列。...不同的插入方法: 在Pandas中,插入列并不仅仅是简单地将数据赋值给一个新列。...总结: 在Pandas DataFrame中插入一列是数据处理和分析的重要操作之一。通过本文的介绍,我们学会了使用Pandas库在DataFrame中插入新的列。...通过本文,我们希望您现在对在 Pandas DataFrame 中插入新列的方法有了更深的了解。这项技能是数据科学和分析工作中的一项基本操作,能够使您更高效地处理和定制您的数据。

    1.1K10

    解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题

    问题描述在pandas的DataFrame格式数据中,每一列可以是不同的数据类型,如数值型、字符串型、日期型等。而ndarray格式数据需要每个元素都是相同类型的,通常为数值型。...= series_a + 1上述代码中,我们创建了一个新的变量​​series_a​​,将列A转换为ndarray并使用pd.Series()将其转换为pandas的Series数据格式。...通过将DataFrame的某一列转换为ndarray,并使用pd.Series()将其转换为pandas的Series数据格式,可以避免格式不一致的错误。...这种方法在数据处理和分析中是常见且实用的技巧,希望本文对你有所帮助。在实际应用场景中,我们可能会遇到需要对DataFrame中的某一列进行运算的情况。...上述代码中,我们将DataFrame的​​Quantity​​列和​​Unit Price​​列转换为ndarray并分别赋值给​​quantity_values​​和​​unit_price_values​​

    53320

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

    所以从这个角度讲,pandas数据创建的一种灵活方式就是通过字典或者嵌套字典,同时也自然衍生出了适用于series和dataframe的类似字典访问的接口,即通过loc索引访问。...这里提到了index和columns分别代表行标签和列标签,就不得不提到pandas中的另一个数据结构:Index,例如series中标签列、dataframe中行标签和列标签均属于这种数据结构。...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。...pandas中的另一大类功能是数据分析,通过丰富的接口,可实现大量的统计需求,包括Excel和SQL中的大部分分析过程,在pandas中均可以实现。...;sort_values是按值排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列并分别设置升序降序参数,非常灵活。

    15K20

    Python可视化数据分析05、Pandas数据分析

    Series Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(索引)组成,创建Series对象的语法如下: #导入Pandas模块中的Series类 from Pandas...", obj1.values) print("Series的索引对象为:", obj1.index) Series对象的特性: 可以通过索引的方式选取Series中的单个或一组值。...Series对象本身及其索引都有一个name属性,该属性跟Pandas其他的关键功能的关系非常密切。 Series的索引可以通过赋值的方式修改。...=["a", "b", "c"]) print(frame2) 操作DataFrame对象中列 在DataFrame对象中使用columns属性获取所有的列,并显示所有列的名称 DataFrame对象的每竖列都是一个...对象中values属性 values属性会以二维Ndarray的形式返回DataFrame中的数据 如果DataFrame各列的数据类型不同,则值数组的数据类型就会选用能兼容所有列的数据 from pandas

    2.5K20

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

    (2)创建Series a、通过series来创建 Series的字符串表现形式为:索引在左边,值在右边。...也可以在创建Series的时候为值直接创建索引。 b、通过字典的形式来创建Series。 (3)获取Series中的值 通过索引的方式选取Series中的单个或一组值。...(3)获取DataFrame的值(行或列) 通过查找columns值获取对应的列。(下面两种方法) 通过索引字段ix查找相应的行。 (4)对列进行赋值处理。 对某一列可以赋一个标量值也可以是一组值。...3、算数运算和数据对齐 (1)Series 与Series之间的运算 将不同索引的对象进行算数运算,在将对象进行相加时,如果存在时,则结果的索引就是该索引的并集,而结果的对象为空。...(2)填充缺失数据 通过调用函数fillna,并给予这个函数一个值,则该数组中所有的缺失值都将被这个值填充。df.fillna(0)——缺失值都将被0填充。

    6.4K80
    领券