如何使用 Python、Pandas 创建 Decile 和 Quintile 列以根据大小对另一个变量进行排名?

2023-12-29

我有一个数据框,其中一列包含Investment代表交易者投资的金额。我想在数据框中创建 2 个新列;一个给出十分位数排名,另一个给出五分位数排名Investment尺寸。我希望 1 代表投资额最大的十分位数,10 代表投资额最小的十分位数。同样,我希望 1 代表投资最大的五分之一,5 代表投资最小的五分之一。

我是 Pandas 新手,有什么方法可以轻松做到这一点吗? 谢谢!


您正在寻找的功能位于pandas.qcut http://pandas.pydata.org/pandas-docs/stable/ generated/pandas.qcut.html http://pandas.pydata.org/pandas-docs/stable/generated/pandas.qcut.html

In [51]: import numpy as np

In [52]: import pandas as pd

In [53]: investment_df = pd.DataFrame(np.arange(10), columns=['investment'])

In [54]: investment_df['decile'] = pd.qcut(investment_df['investment'], 10, labels=False)

In [55]: investment_df['quintile'] = pd.qcut(investment_df['investment'], 5, labels=False)

In [56]: investment_df
Out[56]: 
   investment  decile  quintile
0           0       0         0
1           1       1         0
2           2       2         1
3           3       3         1
4           4       4         2
5           5       5         2
6           6       6         3
7           7       7         3
8           8       8         4
9           9       9         4   

用最小的数字标记最大的百分位是不标准的,但你可以通过以下方式做到这一点

In [60]: investment_df['quintile'] = pd.qcut(investment_df['investment'], 5, labels=np.arange(5, 0, -1))

In [61]: investment_df['decile'] = pd.qcut(investment_df['investment'], 10, labels=np.arange(10, 0, -1))

In [62]: investment_df
Out[62]: 
   investment decile quintile
0           0     10        5
1           1      9        5
2           2      8        4
3           3      7        4
4           4      6        3
5           5      5        3
6           6      4        2
7           7      3        2
8           8      2        1
9           9      1        1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Python、Pandas 创建 Decile 和 Quintile 列以根据大小对另一个变量进行排名? 的相关文章

随机推荐

  • 如何从“MySQL 创建表”查询字符串中获取列名?

    我想用 PHP 编写一个脚本 以字符串形式获取 MySQL 创建表 查询 并将列名及其数据类型存储在数组中 例如 输入字符串 CREATE TABLE test col1 INT 10 NOT NULL col2 VARCHAR 50 NO
  • 无模式 JDialog 不显示内容

    Java SE 6 我正在尝试创建一个弹出对话框 在我的程序执行一些耗时的工作时显示 请稍候 消息 为此 我选择使用无模式 JDialog 以便程序在 JDialog 可见时继续运行并正常工作 如果您使用模态 JDialog 则程序将暂停
  • Windows 上的 PHP 诅咒

    PHP 中是否有与 ncurses 相当的 Windows 版本 我创建了一个 CLI 脚本 希望以一种很好的方式显示各种统计信息 当前处理的记录 完成百分比等 而不向 cmd exe 窗口输出负载和大量文本 ncurses 扩展不适用于
  • 计算整数的持久数

    我正在尝试编写一个执行以下操作的代码 将整数的数字相乘并继续该过程给出 乘积序列总是得出令人惊讶的结果 一位数 例如 715 gt 35 gt 15 gt 5 88 gt 64 gt 24 gt 8 27 gt 14 gt 4 达到个位数所
  • 使用 map() 估计多个“lm”模型并在一个表中返回输出

    我需要在同一数据集上估计多个线性模型 并将回归结果全部放入一张表中 对于可重现的示例 这里是使用的简化mtcars formula 1 mpg disp formula 2 mpg log disp formula 3 mpg disp h
  • 我可以使用 System.Linq.Expressions 动态生成异步方法吗?

    我知道编译器无法将异步 lambda 表达式转换为表达式树 但是是否可以手动生成表达式树 var expr Expression Lambda
  • 模拟实体框架模型?

    是否可以模拟 EF 模型 以便我可以测试使用模型类的代码 而无需删除散布在我的项目中的 LINQ to Entities 代码 或者是否需要建立一个测试数据库来让模型命中 您可以将 LINQ 代码包装在数据访问对象 http en wiki
  • 如何在批处理脚本中生成日期前四天的日期? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在批处理脚本中生成日期前四天的日期 我检查了可用的解决方案 但它们看起来很复杂 任何帮助将不胜感激 我强烈同意 JosefZ 日期
  • 从函数返回 JSX

    我有一个组件需要检查多个选项并根据这些选项返回 因此 我创建了一个外部函数 在我的组件返回语句中调用该函数来确定将返回的格式 render const policy this props let deployment policy Depl
  • 如何更改 silverlight 5 中只读文本框的背景颜色?

    我想更改只读文本框的颜色 可以将默认颜色更改为白色 颜色 和文本框为
  • 如何正确通知 MediaScanner 有关文件夹的信息,即使在 Nexus/Kitkat 设备上也是如此?

    背景 我正在制作一个应用程序 将一些图像从互联网下载到定义为的特定文件夹中 final String pathToPutFiles Environment getExternalStoragePublicDirectory Environm
  • 字符串不匹配时的 Ansible 条件

    我正在尝试编写一个 Ansible 剧本 仅在 Nginx 尚未存在且当前版本不存在时才编译 Nginx 然而它每次都会编译 这是不可取的 这就是我所拥有的 shell usr local nginx sbin nginx v 2 gt 1
  • mediaelement.js - 如何隐藏音频控件?

    我正在尝试将 Mediaelement js 实现到视频和音频网站中 视频运行良好 但我需要做的是隐藏音频元素 这样它根本不会显示在页面上 并且 MEJS 音频控件酒吧不可见 音频的播放将通过根据需要播放 暂停音频的函数来处理 我尝试更改
  • Spring Batch:动态块大小

    我有步骤读取多个资源 我需要根据每个文件的行数更改块大小 Spring Batch是否可以具有动态块大小 或者有其他方法可以做到这一点 你可以做Spring Batch 步骤分区 对步骤进行分区 以便该步骤具有多个线程 每个线程并行处理一块
  • TextInputLayout:未聚焦时提示标签的颜色不同

    我想做的事 当使用嵌入 TextInputLayout 中的 EditText 时 我想 当标签失焦并漂浮在 EditText 上方时 将标签的颜色设置为绿色 因为用户已经输入了一些值 当标签失焦并位于 EditText 内时 将标签的颜色
  • 如何在Scala中使用优先级队列?

    我正在尝试在 Scala 版本 2 10 中实现 A 搜索 但我遇到了障碍 我不知道如何使用 Scala 的优先级队列 我有一组正方形 表示为 Int Int s 我需要插入它们的优先级由Ints 在 Python 中 您只有一个键 值对列
  • Ruby on Rails 绘制 gem 图形? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • svn 非 LF 行结束问题 svn:ignore on dump load

    我正在尝试使用转储文件将运行 svn 版本 1 2 3 的系统上的存储库 历史记录完整 迁移到运行 1 7 1 的系统 由于原始存储库是一个早期版本 因此使用svnrdump直接不是一个选择 我用了svnadmin dump然后将 8 GB
  • 在 Google appengine 中禁用版本特定的网址

    Google App Engine 支持版本特定的请求路由 如文档所示 here https cloud google com appengine docs standard python how requests are routed例如
  • 如何使用 Python、Pandas 创建 Decile 和 Quintile 列以根据大小对另一个变量进行排名?

    我有一个数据框 其中一列包含Investment代表交易者投资的金额 我想在数据框中创建 2 个新列 一个给出十分位数排名 另一个给出五分位数排名Investment尺寸 我希望 1 代表投资额最大的十分位数 10 代表投资额最小的十分位数