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

数据分析利器 pandas 系列教程(四):对比 sql 学 pandas

这样选择出来的 dataframe,其 index 是不连续的,因为 pandas 的选择,连同原来的 index 一起选择了,符合条件的行,在原来的 dataframe 中,index 几乎不可能连续...所以必须 reset_index 下,这个函数有两个值得注意的参数 inplace 和 drop,inplace 在 强大的 DataFrame 就讲过,如果原地修改就设置为 True;至于这个 drop...groupby groupby 即分组聚合,df.group_by() 即可实现,它返回的是一个 GroupBy 对象而不是 dataframe 需要对这个 GroupBy 对象进行后续的聚合函数调用才会返回...全外连接 都置空 pandas 有 merge 和 join 两个函数可以实现连接,区别如下: merge 默认在左右两表中相同列合并,也可以 on, left_on, right_on 指定(左/...右)列名 join 默认在 index 列合并,也可以 on 指定,没有 left_on、right_on 可以看到 merge 使用范围更广一点。

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

    量化投资中常用python代码分析(一)

    pandas的IO       量化投资逃不过数据处理,数据处理逃不过数据的读取和存储。...此外,如果我们的pandas中的某些地方存储的不是可以被文本化的内容的时候,csv的局限性就更大了。pandas官方提供了一个很好的存储格式,hdfs。...面板数据的截面分析       所谓的面板数据就是截面数据加上时间序列数据。股票的数据很显然就是一个面板数据。在量化投资中,我们经常会使用截面数据处理和时间序列数据的处理。      ...groupby apply的彩蛋       groupby后面apply的函数运行过程中,第一个被groupby拆分的子dataframe会被apply后面的函数运行两次。...大家如果看仔细的话,会发现,第一个子dataframe和第二个dataframe其实是一样的。

    1.8K20

    初学者使用Pandas的特征工程

    建议全面执行EDA的主要原因之一是,我们可以对数据和创建新特征的范围有适当的了解。 特征工程主要有两个原因: 根据机器学习算法的要求准备和处理可用数据。大多数机器学习算法与分类数据不兼容。...估算这些缺失的值超出了我们的讨论范围,我们将只关注使用pandas函数来设计一些新特性。 用于标签编码的replace() pandas中的replace函数动态地将当前值替换为给定值。...使用qcut函数,我们的目的是使每个bin中的观察数保持相等,并且我们没有指定要进行拆分的位置,最好仅指定所需的bin数。 在case cut函数中,我们显式提供bin边缘。...用于文本提取的apply() pandas的apply() 函数允许在pandas系列上传递函数并将其传递到变量的每个点。 它接受一个函数作为参数,然后将其应用于数据框的行或列。...在我们的大卖场销售数据中,我们有一个Item_Identifier列,它是每个产品的唯一产品ID。此变量的前两个字母具有三种不同的类型,即DR,FD和NC,分别代表饮料,食品和非消耗品。

    4.9K31

    Pandas中的这3个函数,没想到竟成了我数据处理的主力

    age由调用该函数的series进行向量化填充外,另两个参数需要指定,在apply中即通过args传入。...应用到DataFrame的每个Series DataFrame是pandas中的核心数据结构,其每一行和每一列都是一个Series数据类型。...应用到DataFrame groupby后的每个分组DataFrame 实际上,个人一直觉得这是一个非常有效的用法,相较于原生的groupby,通过配套使用goupby+apply两个函数,实现更为个性化的聚合统计功能...在Python中提到map关键词,个人首先联想到的是两个场景:①一种数据结构,即字典或者叫映射,通过键值对的方式组织数据,在Python中叫dict;②Python的一个内置函数叫map,实现数据按照一定规则完成映射的过程...而在Pandas框架中,这两种含义都有所体现:对一个Series对象的每个元素实现字典映射或者函数变换,其中后者与apply应用于Series的用法完全一致,而前者则仅仅是简单将函数参数替换为字典变量即可

    2.5K10

    Python 使用pandas 进行查询和统计详解

    前言 在使用 Pandas 进行数据分析时,我们需要经常进行查询和统计分析。...df.var() # 统计各属性的标准差 df.std() 分组统计分析: # 按照性别分组,统计年龄均值 df.groupby('gender')['age'].mean() # 按照性别和年龄分组,...统计人数 df.groupby(['gender', 'age'])['name'].count() 交叉表分析: # 构造一个交叉表,统计不同性别和年龄的人数 pd.crosstab(df['gender...在列上合并 pd.concat([df, other_df], axis=1) 纵向(按行)合并 DataFrame: # 创建一个新的 DataFrame other_data = {'name':...(other_data) # 将两个 DataFrame 在行上合并 pd.concat([df, other_df], axis=0) 数据透视表 创建数据透视表: # 统计不同性别和年龄的人数,以

    32910

    Pandas的apply, map, transform介绍和性能测试

    虽然apply的灵活性使其成为一个简单的选择,但本文介绍了其他Pandas函数作为潜在的替代方案。 在这篇文章中,我们将通过一些示例讨论apply、agg、map和transform的预期用途。...Error: the first argument must be callable """ na_action的工作原理和map中的一样。...所以无论自定义聚合器是如何实现的,结果都将是传递给它的每一列的单个值。 来看看一个简单的聚合——计算每个组在得分列上的平均值。  ...apply的一些问题 apply灵活性是非常好的,但是它也有一些问题,比如: 从 2014 年开始,这个问题就一直困扰着 pandas。当整个列中只有一个组时,就会发生这种情况。...在subject 列上分组,我们得到了我们预期的多索引。

    2K30

    Pandas 高级教程——多级索引

    Python Pandas 高级教程:多级索引 Pandas 中的多级索引是一种强大的工具,用于处理具有多个维度或层次的数据。多级索引可以在行和列上创建层次结构,提供更灵活的数据表示和分析方式。...在本篇博客中,我们将深入介绍 Pandas 中的多级索引,通过实例演示如何应用这一功能。 1. 安装 Pandas 确保你已经安装了 Pandas。...创建多级索引 3.1 在 DataFrame 中创建多级索引 创建多级索引 DataFrame data = { 'Value': [10, 20, 30, 40, 50, 60], '...总结 多级索引是 Pandas 中用于处理层次化数据的强大工具,通过多级索引,你可以更灵活地组织和分析数据。在实际应用中,多级索引常用于处理时间序列、多维度数据等场景。...希望这篇博客能够帮助你更好地理解和运用 Pandas 中的多级索引。

    33710

    数据处理技巧 | 带你了解Pandas.groupby() 常用数据处理方法

    今天我们继续推出一篇数据处理常用的操作技能汇总:灵活使用pandas.groupby()函数,实现数据的高效率处理,主要内容如下: pandas.groupby()三大主要操作介绍 pandas.groupby...()实例演示 pandas.groupby()三大主要操作介绍 说到使用Python进行数据处理分析,那就不得不提其优秀的数据分析库-Pandas,官网对其的介绍就是快速、功能强大、灵活而且容易使用的数据分析和操作的开源工具...GroupBy()的核心,分别是: 第一步:分离(Splitting)原始数据对象; 第二步:在每个分离后的子对象上进行数据操作函数应用(Applying); 第三步:将每一个子对象的数据操作结果合并(...在pandas以前的版本中需要自定义聚合操作,如下: # 定义aggregation汇总计算 aggregations = { #在values01列上的操作 'values01': {...Filtration Result 以上就是对Pandas.groupby()操作简单的讲解一遍了,当然,还有更详细的使用方法没有介绍到,这里只是说了我自己在使用分组操作时常用的分组使用方法。

    3.8K11

    python-for-data-groupby使用和透视表

    第十章主要讲解的数据聚合与分组操作。对数据集进行分类,并在每一个组上应用一个聚合函数或者转换函数,是常见的数据分析的工作。 本文结合pandas的官方文档整理而来。 ?...分组键 分组键可以是多种形式,并且键不一定是完全相同的类型: 与需要分组的轴向长度一致的值列表或者值数组 DataFrame列名的值 可以在轴索引或索引中的单个标签上调用的函数 可以将分组轴向上的值和分组名称相匹配的字典或者...Series 特点 分组键可以是正确长度的任何数组 通用的groupby方法是size,返回的是一个包含组大小信息的Series 分组中的任何缺失值将会被排除在外 默认情况下,groupby是在axis...如果传递的是(name,function)形式,则每个元组的name将会被作为DF数据的列名: ? 不同的函数应用到一个或者多个列上 ?...笔记2:只有当多个函数应用到至少一个列时,DF才具有分层列 返回不含行索引的聚合数据:通过向groupby传递as_index=False来实现 数据透视表和交叉表 DF中的pivot-table方法能够实现透视表

    2K30

    Pandas学习笔记05-分组与透视

    pandas提供了比较灵活的groupby分组接口,同时我们也可以使用pivot_table进行透视处理。 1.分组 分组函数groupby,对某列数据进行分组,返回一个Groupby对象。 ?...分组 在进行groupby分组后,我们可以对分组对象进行各种操作,比如求分组平均值mean() ? 分组统计 很多时候,我们需要返回dataframe型数据进行二次操作 ?...获取datafram数据 size()方法可以获取各分组的大小 ? 获取分组大小 遍历分组 ? 遍历分组 [[]]和[]在返回结果上的区别 ?...不同的聚合方法 3.数据透视 数据透视采用pivot_table方法,和excel数据透视表功能类似,其实可以和groupby分组统计进行相互转化 它带有许多参数: data:一个DataFrame对象...columns:与数据或它们的列表具有相同长度的列,Grouper,数组。在数据透视表列上进行分组的键。如果传递了数组,则其使用方式与列值相同。

    1K30

    快乐学习Pandas入门篇:Pandas基础

    /new table.xlsx') 基本数据结构 Pandas处理的基本数据结构有 Series 和 DataFrame。两者的区别和联系见下表: ? Series 1....索引对齐特性 这是Pandas中非常强大的特性,在对多个DataFrame 进行合并或者加减乘除操作时,行和列的索引都重叠的时候才能进行相应操作,否则会使用NA值进行填充。...需要注意的是:需要在具体列上操作,本身DataFrame并没有这两个方法 df['Physics'].unique()df['Physics'].nunique() 3. count & value_counts...对于Series,它可以迭代每一列的值(行)操作;对于DataFrame,它可以迭代每一个列操作。 # 遍历Math列中的所有值,添加!...在常用函数一节中,由于一些函数的功能比较简单,因此没有列入,现在将它们列在下面,请分别说明它们的用途并尝试使用。 ? 5. df.mean(axis=1)是什么意思?

    2.4K30

    Pandas_Study02

    pandas 数据清洗 1. 去除 NaN 值 在Pandas的各类数据Series和DataFrame里字段值为NaN的为缺失数据,不代表0而是说没有赋值数据,类似于python中的None值。...复杂的 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一行的数据来填充NaN值,向后同理 # 在df 的e 这一列上操作,默认下按行操作,向前填充数据...接在前一个df 后面 df12 = pd.concat([df1, df2]) 当然,列标和行标不一定是对应的,这个时候两DataFrame未匹配上的label或columns下的值为NaN concat...补充: 内连接,对两张有关联的表进行内连接操作,结果表会是两张表的交集,例如A表和B表,如果是A 内连接(inner join)B表,结果表是以A为基准,在B中找寻A匹配的行,不匹配则舍弃,B内连接A同理...DataFrame数据对象经groupby()之后有ngroups和groups等属性,其本质是DataFrame类的子类DataFrameGroupBy的实例对象。

    20510

    使用Plotly创建带有回归趋势线的时间序列可视化图表

    """ 以上代码来自pandas的doc文档 在上面的代码块中,当使用每月“M”频率的Grouper方法时,请注意结果dataframe是如何为给定的数据范围生成每月行的。...在使用px之前,我们将px对象分配给了fig(如上所示),然后使用fig.show()显示了fig。现在,我们不想创建一个包含一系列数据的图形,而是要创建一个空白画布,以后再添加到其中。...在本节中,让我们切换到一个样本数据集,该数据集有几百条记录和两个类别(a、b),它们跨越了几年时间。...读取和分组数据 在下面的代码块中,一个示例CSV表被加载到一个Pandas数据框架中,列作为类型和日期。类似地,与前面一样,我们将date列转换为datetime。...这一次,请注意我们如何在groupby方法中包含types列,然后将types指定为要计数的列。 在一个列中,用分类聚合计数将dataframe分组。

    5.1K30

    Pandas速查卡-Python数据科学

    刚开始学习pandas时要记住所有常用的函数和方法显然是有困难的,所以在Dataquest(https://www.dataquest.io/)我们主张查找pandas参考资料(http://pandas.pydata.org...如果你对pandas的学习很感兴趣,你可以参考我们的pandas教程指导博客(http://www.dataquest.io/blog/pandas-python-tutorial/),里面包含两大部分的内容...关键词和导入 在这个速查卡中,我们会用到一下缩写: df 二维的表格型数据结构DataFrame s 一维数组Series 您还需要执行以下导入才能开始: import pandas as pd import...(col) 从一列返回一组对象的值 df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值,按col1中的值分组...col2和col3的平均值 df.groupby(col1).agg(np.mean) 查找每个唯一col1组的所有列的平均值 data.apply(np.mean) 在每个列上应用函数 data.apply

    9.2K80
    领券