首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Pandas 对数值进行分箱操作的 4 种方法

    分箱是一种常见的数据预处理技术有时也被称为分桶或离散化,他可用于将连续数据的间隔分组到“箱”或“桶”中。在本文中,我们将讨论使用 python Pandas 库对数值进行分箱的 4 种方法。...1、between & loc Pandas .between 方法返回一个包含 True 的布尔向量,用来对应的 Series 元素位于边界值 left 和 right 之间。...我们需要确定哪个分数在感兴趣的区间之间,并为其分配相应的等级值。....value_counts 通常用于计算系列中唯一值的数量,但它也可用于使用 bins 参数将值分组到半开箱中。...返回series 的值表示每个 bin 中有多少条记录。 与 .qcut 不同,每个 bin 中的记录数不一定相同(大约)。.

    1.4K20

    Pandas 秘籍:1~5

    该秘籍既分配了标量值(如步骤 1 所示),又分配了序列(如步骤 2 所示),以创建新列。 步骤 2 将四个不同的序列使用加法运算符相加。 步骤 3 使用方法链来查找和填充缺失值。...准备 以下是排序列的简单指南: 将每列分为离散列或连续列 在离散列和连续列中将公共列分组 将最重要的列组首先放置在分类列之前,然后再放置连续列 本秘籍向您展示如何使用此指南排序各列。...所得的序列本身也具有sum方法,该方法可以使我们在数据帧中获得总计的缺失值。 在步骤 4 中,数据帧的any方法返回布尔值序列,指示每个列是否存在至少一个True。...布尔序列的每个值的取值为 0 或 1,因此所有适用于数值的序列方法也适用于布尔值。 准备 在此秘籍中,我们通过将条件应用于数据列来创建布尔序列,然后从中计算汇总统计信息。...步骤 3 使用此掩码的数据帧删除包含所有缺失值的行。 步骤 4 显示了如何使用布尔索引执行相同的过程。 在数据分析过程中,持续验证结果非常重要。 检查序列和数据帧的相等性是一种非常通用的验证方法。

    37.6K10

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

    一个例子是使用频率和计数的字符串对分类数据进行分组,使用int和float作为连续值。此外,我们希望能够附加标签到列、透视数据等。 我们从介绍对象Series和DataFrame开始。...检查 pandas有用于检查数据值的方法。DataFrame的.head()方法默认显示前5行。.tail()方法默认显示最后5行。行计数值可以是任意整数值,如: ?...它们是: 方法 动作 isnull() 生成布尔掩码以指示缺失值 notnull() 与isnull()相反 drona() 返回数据的过滤版本 fillna() 返回填充或估算的缺失值的数据副本 下面我们将详细地研究每个方法...df.columns返回DataFrame中的列名称序列。 ? 虽然这给出了期望的结果,但是有更好的方法。...它将.sum()属性链接到.isnull()属性来返回DataFrame中列的缺失值的计数。 .isnull()方法对缺失值返回True。

    12.1K20

    Python 数据处理:Pandas库的使用

    i处,并得到新的Index is_monotonic 当各元素均大于等于前一个元素时,返回True is_unique 当Index没有重复值时,返回True unique 计算Ilndex中唯一值的数组...选项: 方法 描述 'average' 默认:在相等分组中,为各个值分配平均排名 'min' 使用整个分组的最小排名 'max' 使用整个分组的最大排名 'first' 按值在原始数据中的出现顺序分配排名...DataFrame的行用0,列用1 skipna 排除缺失值,默认值为True level 如果轴是层次化索引的(即Multilndex),则根据level分组约简 有些方法(如idxmin和idxmax...: 方法 描述 isin 计算一个表示“Series各值是否包含于传入的值序列中”的布尔型数组 match 计算一个数组中的各值到另一个不同值数组的整数索引;对于数据对齐和连接类型的操作十分有用 unique...后面的频率值是每个列中这些值的相应计数。

    22.8K10

    Pandas全景透视:解锁数据科学的黄金钥匙

    优化的数据结构:Pandas提供了几种高效的数据结构,如DataFrame和Series,它们是为了优化数值计算和数据操作而设计的。这些数据结构在内存中以连续块的方式存储数据,有助于提高数据访问速度。...利用内置函数:Pandas广泛使用内置函数来执行常见的数据处理任务,如排序、分组和聚合。这些函数通常经过高度优化,能够快速处理大量数据。...布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。limit:int, default None。...()函数将连续性数值进行离散化处理:如对年龄、消费金额等进行分组pandas.cut(x, bins, right=True, labels=None, retbins=False, precision...则表示将x中的数值分成等宽的n份(即每一组内的最大值与最小值之差约相等);如果是标量序列,序列中的数值表示用来分档的分界值如果是间隔索引,“ bins”的间隔索引必须不重叠举个例子import pandas

    11710

    Pandas图鉴(二):Series 和 Index

    它们还支持布尔索引(用布尔数组进行索引),如该图所示: Series.isin(), Series.between() 而可以在这张图片中看到他们是如何支持 "花式索引" 的(用整数阵列进行索引):...从原理上讲,如下图所示: 一般来说,需要保持索引值的唯一性。例如,在索引中存在重复的值时,查询速度的提升并不会提升。...Pandas没有像关系型数据库那样的 "唯一约束"(该功能[4]仍在试验中),但它有一些函数来检查索引中的值是否唯一,并以各种方式删除重复值。 有时,但一索引不足以唯一地识别某行。...大多数Pandas函数都会忽略缺失的值: 更高级的函数(median, rank, quantile等)也是如此。 算术操作是根据索引来调整的: 在索引中存在非唯一值的情况下,其结果是不一致的。...Pandas有df.insert方法,但它只能将列(而不是行)插入到数据框架中(而且对序列根本不起作用)。

    33920

    Pandas 秘籍:6~11

    每当索引标签对于一个对象唯一时,Pandas 默认为缺少值。 不幸的结果是,将序列的数据类型更改为float,而每个序列仅具有整数作为值。 发生这种情况是因为 NumPy 缺少值对象。...具有至少一个True值的任何行都包含一列的最大值。 我们在步骤 5 中对所得的布尔序列求和,以确定多少行包含最大值。 出乎意料的是,行多于列。 步骤 6 深入说明了为什么会发生这种情况。...如果没有重复的值,则分组将毫无意义,因为每个组只有一行。 连续数字列通常具有很少的重复值,并且通常不用于形成组。...不管实际的新标签值是多少,新行始终将附加在最后。 即使使用列表分配也可以,但为清楚起见,最好使用字典,以便我们准确地知道与每个值关联的列,如步骤 4 所示。...我们对 NumPy 数据数组使用布尔选择的方式与在步骤 5 中对 Pandas 序列的处理方式相同。 bar方法将 x 值的高度和条形的宽度作为其前三个参数,并将条形的中心直接放在每个 x 值处。

    34K10

    数据科学 IPython 笔记本 7.7 处理缺失数据

    通常,它们围绕两种策略中的一种:使用在全局表示缺失值的掩码,或选择表示缺失条目的标记值。 在掩码方法中,掩码可以是完全独立的布尔数组,或者它可以在数据表示中占用一个比特,在本地表示值的空状态。...这些方法都没有权衡:使用单独的掩码数组需要分配额外的布尔数组,这会增加存储和计算的开销。标记值减少了可以表示的有效值的范围,并且可能需要 CPU 和 GPU 算法中的额外(通常是非最优的)逻辑。...Pandas 可以遵循 R 的指导,为每个单独的数据类型指定位组合来表示缺失值,但这种方法结果相当笨拙。...检测控制 Pandas 数据结构有两种有用的方法来检测空数据:isnull()和notnull()。任何一个都返回数据上的布尔掩码。...3 True dtype: bool ''' 如“数据索引和选择”中所述,布尔掩码可以直接用作Series或DataFrame的索引: data[data.notnull()] ''' 0

    4.1K20

    五大方法添加条件列-python类比excel中的lookup

    这个函数依次接受三个参数:条件;如果条件为真,分配给新列的值;如果条件为假,分配给新列的值 # np.where(condition, value if condition is true, value...,是进行分组的依据, 如果填入整数n,则表示将x中的数值分成等宽的n份(即每一组内的最大值与最小值之差约相等); 如果是标量序列,序列中的数值表示用来分档的分界值 如果是间隔索引,“ bins”的间隔索引必须不重叠...right :布尔值,默认为True表示包含最右侧的数值 当“ right = True”(默认值)时,则“ bins”=[1、2、3、4]表示(1,2],(2,3],(3,4] 当bins是一个间隔索引时...include_lowest:布尔值,表示区间的左边是开还是闭,默认为false,也就是不包含区间左边。...duplicates:如果分箱临界值不唯一,则引发ValueError或丢弃非唯一 # 方法五 数据分箱pd.cut()——最类似于excel 中 lookup的方法 df7 = df.copy() bins

    1.9K20

    Pandas图鉴(三):DataFrames

    read_csv最酷的地方在于它能自动检测到很多东西,包括: 列的名称和类型、 布尔的表示法、 缺失值的表示,等等。...创建一个DataFrame 用已经存储在内存中的数据构建一个DataFrame竟是如此的超凡脱俗,以至于它可以转换你输入的任何类型的数据: 第一种情况,没有行标签,Pandas用连续的整数来标注行。...还有两个创建DataFrame的选项(不太有用): 从一个dict的列表中(每个dict代表一个行,它的键是列名,它的值是相应的单元格值)。...文档中的 "保留键序" 声明只适用于left_index=True和/或right_index=True(其实就是join的别名),并且只在要合并的列中没有重复值的情况下适用。...一列范围内的用户函数唯一可以访问的是索引,这在某些情况下是很方便的。例如,那一天,香蕉以50%的折扣出售,这可以从下面看到: 为了从自定义函数中访问group by列的值,它被事先包含在索引中。

    44420

    数据导入与预处理-第6章-02数据变换

    转换函数如: 其中 max为样本数据的最大值,min为样本数据的最小值。max-min为极差。 以一个例子说明标准化的计算过程。...等宽法 等宽法将属性的值域从最小值到最大值划分成具有相同宽度的区间,具体划分多少个区间由数据本身的特点决定,或者由具有业务经验的用户指定 等频法 等频法将相同数量的值划分到每个区间,保证每个区间的数量基本一致...基于列值重塑数据(生成一个“透视”表)。使用来自指定索引/列的唯一值来形成结果DataFrame的轴。此函数不支持数据聚合,多个值将导致列中的MultiIndex。...,将出售日期一列的唯一值变换成行索引。...使用pandas的groupby()方法拆分数据后会返回一个GroupBy类的对象,该对象是一个可迭代对象,它里面包含了每个分组的具体信息,但无法直接被显示。

    19.3K20

    Pandas 2.2 中文官方教程和指南(二十五·一)

    许多链接包含了比内联示例提供的更详细的信息。 pandas(pd)和 NumPy(np)是唯一两个缩写导入的模块。其余模块都明确导入,以供新用户使用。...在时间范围内 在时间之间使用索引器 构建排除周末并仅包含特定时间的日期范围 矢量化查找 聚合和绘制时间序列 将具有小时列和天行的矩阵转换为连续行序列形式的时间序列。...使用 Grouper 而不是 TimeGrouper 进行时间分组 带有一些缺失值的时间分组 Grouper 的有效频率参数 时间序列 使用 MultiIndex 进行分组 使用 TimeGrouper...使 Matplotlib 看起来像 R 设置 x 轴主要和次要标签 在 IPython Jupyter 笔记本中绘制多个图表 创建多行图 绘制热力图 注释时间序列图 注释时间序列图 #2 使用 Pandas...的DataFrame中,其中结构的每个元素对应于框架中的一列: names = "count", "avg", "scale" # note that the offsets are larger

    45100

    pandas时间序列常用方法简介

    2.truncate截断函数,实际上这也不是一个时间序列的专用方法,而仅仅是pandas中布尔索引的一种简略写法:通过逐一将索引与起始值比较得出布尔值,从而完成筛选。...04 重采样 重采样是pandas时间序列中的一个特色操作,在有些连续时间记录需要按某一指定周期进行聚合统计时尤为有效,实现这一功能的函数主要是resample。...关于pandas时间序列的重采样,再补充两点:1.重采样函数可以和groupby分组聚合函数组合使用,可实现更为精细的功能,具体可参考Pandas中groupby的这些用法你都知道吗一文;2.重采样过程中...,无论是上采样还是下采样,其采样结果范围是输入记录中的最小值和最大值覆盖的范围,所以当输入序列中为两段不连续的时间序列记录时,可能会出现中间大量不需要的结果(笔者亲历天坑),同时在上图中也可发现从4小时上采样为...05 滑动窗口 理解pandas中时间序列滑动窗口的最好方式是类比SQL中的窗口函数。实际上,其与分组聚合函数的联系和SQL中的窗口函数与分组聚合联系是一致的。

    5.8K10

    Pandas 2.2 中文官方教程和指南(七)

    涵盖了 NumPy 和 pandas 的基本操作,4 种主要的数据操作方法(包括索引、分组、重塑和连接)以及 4 种主要的数据类型(包括缺失数据、字符串数据、分类数据和时间序列数据)。...涵盖了 NumPy 和 pandas 的基本操作,4 种主要数据操作方法(包括索引、分组、重塑和连接)以及 4 种主要数据类型(包括缺失数据、字符串数据、分类数据和时间序列数据)。...每个子部分介绍一个主题(如“处理缺失数据”),并讨论 pandas 如何解决该问题,其中穿插着许多示例。 对于刚开始使用 pandas 的用户,应从 10 分钟入门 pandas 开始。...通过“分组”我们指的是涉及以下一个或多个步骤的过程: 根据某些标准将数据分组 对每个组独立应用函数 将结果组合成数据结构 查看分组部分。...通过“分组”我们指的是涉及以下一个或多个步骤的过程: 根据某些标准将数据分组 对每个组独立应用函数 将结果组合成数据结构 请参见分组部分。

    41000
    领券