有没有办法根据自定义限制(意味着范围的长度不相等)来离散化 Pandas 数据框中的列?此处提出的先前问题不涵盖此案例。
例如,假设我们想要将数字成绩(满分 4 分)转换为 bin,如下所示:
3.75 至 4:优秀
3.5 至 3.75:非常好
3.25 至 3.5:好
3 至 3.25:平均
2.5 至 3:差
2.5以下:非常差
我知道可以使用一系列ifs 和elses 来完成,但我一直在寻找一种更干净、更灵活(对于更多数量的垃圾箱)的方法来做到这一点。
我有很长的字符串,如
"123 - Footwear, 5678 - Apparel, Accessories & Luxury Goods, 9876 - Leisure Products"
和
"321 - Apparel & Accessories, 4321 - Apparel & Accessories > Handbags, Wallets & Cases, 187 - Apparel & Accessories > Shoes"
我想根据模式"数字,空格,短划线,空格,一些字符串直到下一个数字,空格,短划线,空格或字符串结尾"来拆分它们.请注意,该字符串可能包含逗号,&符号,">"和其他特殊字符,因此拆分它们将不起作用.我认为Python中有一种方法可以基于正则表达式进行拆分,但是我很难形成.
我对正则表达式有非常介绍性的知识.我可以为数字和字母数字字符串形成一个正则表达式,但我不知道如何指定"在下一个数字开始之前采取一切".
更新:预期输出:
第一种情况:
["123 - Footwear", "5678 - Apparel, Accessories & Luxury Goods", "9876 - Leisure Products"]
第二种情况:
["321 - Apparel & Accessories", "4321 - Apparel & Accessories > Handbags, Wallets & Cases", "187 - Apparel & Accessories > Shoes"]