【发布时间】:2019-12-01 02:28:05
【问题描述】:
我是 Python 的新手。我有一个包含三列的数据框,如下所示-
我想将“col1”划分为范围为 2 的箱,并获得其他两列的相应范围(最小值、最大值)。此外,还想知道这些单独的 bin 下的记录数-
我尝试对每一列使用 qcut 并获得结果,但似乎没有获得有效结果。结果不一定需要有'[',但也可以是'('。
此外,如果其他两列的范围与第一列的范围不相等,则当前(其他两列)列中的最后一个值可以重复到最后。
任何有关如何创建新的“范围”和“计数”列的帮助将不胜感激。
【问题讨论】:
-
所有列是否共享相同的最小/最大阈值。我问是因为如果不是这种情况,一列可能需要比另一列更多的垃圾箱
-
请将数据作为可复制文本发布。图片无法复制
-
@ksooklall,所有列的值范围都不相同。你是对的,一列可能比另一列需要更多的垃圾箱。因此我提到 - “另外,如果其他两列的范围与第一列的范围不相等,则当前(其他两列)列中的最后一个值可以重复到最后。”
-
你看过我的解决方案了吗?你可以将它们连接到一个数据框,但你会有很多 nans
-
@Ksoosklall,是的,我尝试了您的解决方案,但并没有完全给出输出。你看我想先将 col1 与 range=2 合并,然后检查位于“col1”这个范围内的其他列值,然后获取它们的范围。随后获取落在此范围内的计数(记录)。我的问题更像是价格范围估计,新价格、以前价格和非常旧价格的一个列。因此,我的目标是生成新价格,并希望显示以前和旧价格范围是多少,以及有多少记录受到影响。
标签: python pandas sorting dataframe data-manipulation