【发布时间】:2021-02-07 07:23:45
【问题描述】:
我有一个列表,想在 DataFrame 中创建一个列,其中包含使用 cut 或 qcut 的垃圾箱,但问题是我的垃圾箱大小不一样
l=[1, 11, 21, 31, 41, 51, 61, 71, 81, 91,101, 126, 151, 176, 201, 226, 251, 276, 301, 326, 351, 376, 401, 426, 451, 476, 501, 551, 601, 651, 701, 751, 801, 851, 901, 951, 1001, 1051, 1101, 1151,1201, 1251, 1301, 1351, 1401, 1451, 1501, 1551, 1601, 1651,1701, 1751, 1801, 1851, 1901, 1951, 2001, 2051, 2101, 2151]
我想要的输出如下
+-----------+
| Range |
+-----------+
| 1-10 |
| 11-20 |
| 21-30 |
| 31-40 |
| 41-50 |
| 51-60 |
| 61-70 |
| 71-80 |
| 81-90 |
| 91-100 |
| 101-125 |
| 126-150 |
| 151-175 |
| 176-200 |
| 201-225 |
| 226-250 |
| 251-275 |
| 276-300 |
| 301-325 |
| 326-350 |
| 351-375 |
| 376-400 |
| 401-425 |
| 426-450 |
| 451-475 |
| 476-500 |
| 501-550 |
| 551-600 |
| 601-650 |
| 651-700 |
| 701-750 |
| 751-800 |
| 801-850 |
| 851-900 |
| 901-950 |
| 951-1000 |
| 1001-1050 |
| 1051-1100 |
| 1101-1150 |
| 1151-1200 |
| 1201-1250 |
| 1251-1300 |
| 1301-1350 |
| 1351-1400 |
| 1401-1450 |
| 1451-1500 |
| 1501-1550 |
| 1551-1600 |
| 1601-1650 |
| 1651-1700 |
| 1701-1750 |
| 1751-1800 |
| 1801-1850 |
| 1851-1900 |
| 1901-1950 |
| 1951-2000 |
| 2001-2050 |
| 2051-2100 |
| 2101-2150 |
| 2151-2200 |
+-----------+
所以基本上,我想检查这些范围内是否存在数字,然后根据匹配获取更多列值。
【问题讨论】:
-
我认为您可以将右手值列表传递给 cut 或 qcut ...虽然不完全确定副手
-
pd.cut不需要equal size。在parameter中使用bin = l就可以了。 -
如何确定最后一个 bin 大小?
-
你可以写一个custom_cut
-
@anky,bin 大小只是在一个 excel 文件中给出,试图使用给定的数据制作我自己的