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

pandas库的简单介绍(3)

4 pandas基本功能 4.1 重建索引(见上一篇文章) 4.2 数据选择 pandas的数据选择是十分重要的一个操作,它的操作与数组类似,但是pandas的数据选择与数组不同。...4.3 对象的相加和使用填充值算法 不同对象(Series和DataFrame)之间的算术行为是pandas提供的一项重要功能。...在pandas库的简单介绍(1)已经介绍过Series对象相加的例子,这里说明一下DataFrame对象的加减。...() - x.min() print('行上计算:\n', frame.apply(f)) #默认在行上进行计算 frame.apply(f, axis = 'columns') #传入columns在列上计算...在sort_index中,可以传入axis参数和ascending参数进行排序,默认按索引升序排序,当为frame1.sort_index(axis=1, ascending=False)表示在列上降序排列

1.2K10

掌握pandas中的transform

pandas中,transform是一类非常实用的方法,通过它我们可以很方便地将某个或某些函数处理过程(非聚合)作用在传入数据的每一列上,从而返回与输入数据形状一致的运算结果。...图1 2 pandas中的transform 在pandas中transform根据作用对象和场景的不同,主要可分为以下几种: 2.1 transform作用于Series 当transform作用于单列...作用于整个DataFrame时,实际上就是将传入的所有变换函数作用到每一列中: # 分别对每列进行标准化 ( penguins .loc[:, 'bill_length_mm': 'body_mass_g...s+1]) ) 图8 而且由于作用的是DataFrame,还可以利用字典以键值对的形式,一口气为每一列配置单个或多个变换函数: # 根据字典为不同的列配置不同的变换函数 ( penguins...flipper_length_mm', 'body_mass_g']] .transform(lambda s: s.fillna(s.mean().round(2))) ) 图10 并且在pandas1.1.0

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

    (数据科学学习手札97)掌握pandas中的transform

    是一类非常实用的方法,通过它我们可以很方便地将某个或某些函数处理过程(非聚合)作用在传入数据的每一列上,从而返回与输入数据形状一致的运算结果。   ...图1 2 pandas中的transform   在pandas中transform根据作用对象和场景的不同,主要可分为以下几种: 2.1 transform作用于Series   当transform...图6 2.2 transform作用于DataFrame   当transform作用于整个DataFrame时,实际上就是将传入的所有变换函数作用到每一列中: # 分别对每列进行标准化 ( penguins...图8   而且由于作用的是DataFrame,还可以利用字典以键值对的形式,一口气为每一列配置单个或多个变换函数: # 根据字典为不同的列配置不同的变换函数 ( penguins .loc...图10   并且在pandas1.1.0版本之后为transform引入了新特性,可以配合Cython或Numba来实现更高性能的数据变换操作,详细的可以阅读( https://github.com/pandas-dev

    1.1K30

    10快速入门Query函数使用的Pandas的查询示例

    PANDAS DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。...所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。 使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。...与数值的类似可以在同一列或不同列上使用多个条件,并且可以是数值和非数值列上条件的组合。...除此以外, Pandas Query()还可以在查询表达式中使用数学计算 查询中的简单数学计算 数学操作可以是列中的加,减,乘,除,甚至是列中值或者平方等,如下所示: 示例6 df.query("Shipping_Cost...OrderDate.dt.day >=15") DT很好用并且可以在同一列上结合了多个条件,但表达式似乎太长了。

    4.5K10

    10个快速入门Query函数使用的Pandas的查询示例

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...PANDAS DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。...在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。...与数值的类似可以在同一列或不同列上使用多个条件,并且可以是数值和非数值列上条件的组合。 除此以外, Pandas Query()还可以在查询表达式中使用数学计算。...OrderDate.dt.day >=15") DT很好用并且可以在同一列上结合了多个条件,但表达式似乎太长了。

    4.4K20

    数据分析利器 pandas 系列教程(二):强大的 DataFrame

    的常见方式 同 series 一样,dataframe 也有 index,不同的是,series 除了 index,只有一列,而 dataframe 通常有很多列,比如上面的 dataframe 就有四列...,而且都有名字:name、sex、course、grade,通过这些名字,可以索引到某一列,这些名字称为列(索引),因此,在 dataframe,我更愿意将 index 称为行索引,以此和列索引区分开。...创建 dataframe 其实有 N 种方法,没必要一一掌握,毕竟常用的不过两三种,我也不打算把所有的创建方式都说一遍,那样有炫技的嫌疑,按照自己的理解,我把这些创建方式统一分为两大类:按列的方式创建、...dataframe 查询 loc[] 和 iloc[] 看过 上一篇文章 的读者应该知道,iloc[] 的 i 是 integer 的意思,意味着 iloc[] 只能通过位置查询,而 loc[] 可以通过行...注意 apply() 函数是有返回值的,并且是要用 df['grade'] 接收而不是 df,否则整个 dataframe 只会剩下 grade 这一列。

    1.2K30

    整理了10个经典的Pandas数据查询案例

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...PANDAS中的DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...与数值的类似可以在同一列或不同列上使用多个条件,并且可以是数值和非数值列上条件的组合。 除此以外, Pandas中的query()方法还可以在查询表达式中使用数学计算。...OrderDate.dt.day >=15") output dt很好用并且可以在同一列上结合了多个条件,但表达式似乎太长了。

    24120

    整理了10个经典的Pandas数据查询案例

    在开始之前,先快速回顾一下Pandas中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...PANDAS中的DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。...在后端Pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤Pandas中的DataFrame,需要做的就是在查询函数中指定条件即可。...与数值的类似可以在同一列或不同列上使用多个条件,并且可以是数值和非数值列上条件的组合。 除此以外, Pandas中的query()方法还可以在查询表达式中使用数学计算。...OrderDate.dt.day >=15") output dt很好用并且可以在同一列上结合了多个条件,但表达式似乎太长了。

    3.9K20

    pandas | DataFrame基础运算以及空值填充

    上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc、loc以及逻辑索引等等。今天的文章我们来看看DataFrame的一些基本运算。...如果是计算两个DataFrame相除的话,那么除了对应不上的数据会被置为Nan之外,除零这个行为也会导致异常值的发生(可能不一定是Nan,而是inf)。...由于在算除法的过程当中发生了除零,所以我们得到了一个inf,它表示无穷大。...fillna pandas除了可以drop含有空值的数据之外,当然也可以用来填充空值,事实上这也是最常用的方法。 我们可以很简单地传入一个具体的值用来填充: ?...fillna会返回一个新的DataFrame,其中所有的Nan值会被替换成我们指定的值。

    4K20

    一文介绍Pandas中的9种数据访问方式

    Pandas中的核心数据结构是DataFrame,所以在讲解数据访问前有必要充分认清和深刻理解DataFrame这种数据结构。...切片类型与索引列类型不一致时,引发报错 2. loc/iloc,可能是除[]之外最为常用的两种数据访问方法,其中loc按标签值(列名和行索引取值)访问、iloc按数字索引访问,均支持单值访问或切片查询...4. isin,条件范围查询,一般是对某一列判断其取值是否在某个可迭代的集合中。即根据特定列值是否存在于指定列表返回相应的结果。 5. where,妥妥的Pandas仿照SQL中实现的算子命名。...尤其是在执行链式查询时,例如可参考历史推文:Pandas用了一年,这3个函数是我的最爱……。当然,这种用法一般都可用常规的条件查询替代。 ?...在Spark中,filter是where的别名算子,即二者实现相同功能;但在pandas的DataFrame中却远非如此。

    3.8K30

    Pandas图鉴(三):DataFrames

    Pandas 给 NumPy 数组带来的两个关键特性是: 异质类型 —— 每一列都允许有自己的类型 索引 —— 提高指定列的查询速度 事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者...这个过程如下所示: 索引在Pandas中有很多用途: 它使通过索引列的查询更快; 算术运算、堆叠、连接是按索引排列的;等等。 所有这些都是以更高的内存消耗和更不明显的语法为代价的。...DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 在Pandas中,引用多行/列是一种复制,而不是一种视图。...DataFrame算术 你可以将普通的操作,如加、减、乘、除、模、幂等,应用于DataFrame、Series以及它们的组合。...例如,插入一列总是在原表进行,而插入一行总是会产生一个新的DataFrame,如下图所示: 删除列也需要注意,除了del df['D']能起作用,而del df.D不能起作用(在Python层面的限制

    44420

    (六)Python:Pandas中的DataFrame

    的Series集合 创建         DataFrame与Series相比,除了可以每一个键对应许多值之外,还增加了列索引(columns)这一内容,具体内容如下所示: 自动生成行索引         ...print(frame.iloc[0:2, 0]) # 第零行和第一行的第零列(第一个0可省略) print(frame.iloc[0:2]) # 少了第二个参数,就会输出所有列 print...(loc)和位置(iloc)索引,也可通过 append()方法或 concat()函数等进行处理,以 loc 为例,例如要给 aDF 添加一个新行,可用如下方法: import pandas as pd...,但这种方式是直接对原始数据操作,不是很安全,pandas 中可利用 drop()方法删除指定轴上的数据,drop()方法返回一个新的对象,不会直接修改原始数据。...对象的修改和删除还有很多方法,在此不一一列举,有兴趣的同学可以自己去找一下 统计功能  DataFrame对象成员找最低工资和高工资人群信息          DataFrame有非常强大的统计功能,它有大量的函数可以使用

    3.8K20

    Python开发之Pandas的使用

    一、简介 Pandas 是 Python 中的数据操纵和分析软件包,它是基于Numpy去开发的,所以Pandas的数据处理速度也很快,而且Numpy中的有些函数在Pandas中也能使用,方法也类似。...Pandas 为 Python 带来了两个新的数据结构,即 Pandas Series(可类比于表格中的某一列)和 Pandas DataFrame(可类比于表格)。...二、创建Pandas Series 可以使用 pd.Series(data, index) 命令创建 Pandas Series,其中data表示输入数据, index 为对应数据的索引,除此之外,我们还可以添加参数...one two a 1 2 b 3 4 2、访问DataFrame中的元素 访问单行python df.loc['a'] df.iloc[0] out: one 1...(axis = 1, how = 'all')#只删除所有数据缺失的列 #删除重复值 drop_duplicates(inplace = True) #更改某行/列/位置数据 用iloc或者loc直接替换修改即可

    2.9K10

    数据处理利器pandas入门

    想入门 Pandas,那么首先需要了解Pandas中的数据结构。因为Pandas中数据操作依赖于数据结构对象。Pandas中最常用的数据结构是 Series 和 DataFrame。...除了使用传入列表或numpy数组之外,也可以通过字典的方式创建: s=pd.Series({'a':5, 'b':4, 'c':3, 'd':2, 'e':1}) DataFrame DataFrame...⚠️ Pandas官方提示:以下切片形式操作在简单的交互式数据分析时是非常友好的,但是如果应用于生产环境尽量使用优化后的一些方法:.at,.iat,.loc,.iloc,.ix等。...Pandas主要有两种数据查询选择操作: 基于标签的查询 基于整数的位置索引查询 Pandas在选择列时,无需使用 date[:, columns] 的形式,先使用 : 选择所有行,再指定 columns...箱线图 上图可以看出:不同的要素其值所在范围是不同的,在探索性分析时应分开分析。 除了箱线图之外,Pandas还可以绘制折线图,条形图,饼图,密度分布等。

    3.7K30

    DataFrame和Series的使用

    DataFrame和Series是Pandas最基本的两种数据结构 可以把DataFrame看作由Series对象组成的字典,其中key是列名,值是Series Series和Python..., 需要注意 Pandas里面没有一种数据结构对应行的概念 创建DataFrame name_list = pd.DataFrame({'姓名':['Tome','Bob'],'职业':['AI工程师'...,可以获取DataFrame的行数,列数 df.shape # 查看df的columns属性,获取DataFrame中的列名 df.columns # 查看df的dtypes属性,获取每一列的数据类型...df按行加载部分数据:先打印前5行数据 观察第一列 print(df.head()) 最左边一列是行号,也就是DataFrame的行索引 Pandas默认使用行号作为行索引。...loc方法传入行索引,来获取DataFrame的部分数据(一行,或多行) df.loc[0] df.loc[99] df.loc[last_row_index] iloc : 通过行号获取行数据 iloc

    10910

    来看看数据分析中相对复杂的去重问题

    如果重复的那些行是每一列懂相同的,删除多余的行只保留相同行中的一行就可以了,这个在Excel或pandas中都有很容易使用的工具了,例如Excel中就是在菜单栏选择数据->删除重复值,然后选择根据哪些列进行去重就好...,pandas中是有drop_duplicates()函数可以用。...: one=df.loc[df['uid']==u] #获取所有uid等于u的行,之后只会保存一行 #在这里写if然后只保留一行,然后concat到ndf上,实现只保留一行 olst...更深入一些,如果没有某一列可以作为主键呢?存在一个表,除name之外,其他的列都相同算重复行,这些列有文本有数值型,但是不能拿其中任何列作主键,实现上面的去重合并name,怎么办?...一个个比对是O(n^2),我目前的思路时用除name之外的列合并形成一个字符串型的新列,拿这列做主键,用上面的代码片段。合并之后再删掉之前建的新列保持数据的格式。

    2.5K20

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

    二者之间主要区别是: 从数据结构上看: numpy的核心数据结构是ndarray,支持任意维数的数组,但要求单个数组内所有数据是同质的,即类型必须相同;而pandas的核心数据结构是series和dataframe...所以从这个角度讲,pandas数据创建的一种灵活方式就是通过字典或者嵌套字典,同时也自然衍生出了适用于series和dataframe的类似字典访问的接口,即通过loc索引访问。...在pandas早些版本中,除一维数据结构series和二维数据结构dataframe外,还支持三维数据结构panel。...loc和iloc应该理解为是series和dataframe的属性而非函数,应用loc和iloc进行数据访问就是根据属性值访问的过程 另外,在pandas早些版本中,还存在loc和iloc的兼容结构,即...是在numpy的基础上实现的,所以numpy的常用数值计算操作在pandas中也适用: 通函数ufunc,即可以像操作标量一样对series或dataframe中的所有元素执行同一操作,这与numpy

    15K20
    领券