是否可以在pd.cut中指定包含左侧的存储箱和包含右侧的其他存储箱
例如:我能做到: 6.5 >酸性,6.5 >=中性<= 7.5,碱性>7.5吗?(请注意,中性是左和右,包括左和右)
示例df:
ph
0 4.0
1 6.5
2 7.0
3 7.5
4 10.0期望的结果:
ph ph_category
0 4.0 Acidic
1 6.5 neutral
2 7.0 neutral
3 7.5 neutral
4 10.0 Alkalic到目前为止,我还没有找到一个解决方案,而且它似乎相当微不足道。
发布于 2020-11-22 14:35:25
在您的情况下,您可以使用:
phCat =pd.Categorical(‘酸性’,‘中性’,‘碱性’,ordered=True)
def getPhCat(n):if n< 6.5:返回phCat elif n> 7.5:返回phCat2否则:返回phCat1
然后,为了对你的物质进行分类,你可以像这样运行体细胞分类:
df['Reaction'] = df.pH.apply(getPH)从以下源DataFrame开始:
Substance pH
0 Aaaaa 0.0
1 Bbbbb 5.9
2 Ccccc 6.4
3 Ddddd 6.5
4 Eeeee 6.6
5 Fffff 7.0
6 Ggggg 7.5
7 Hhhhh 7.6
8 Iiiii 8.1
9 Jjjjj 14.0我得到了:
Substance pH Reaction
0 Aaaaa 0.0 Acidic
1 Bbbbb 5.9 Acidic
2 Ccccc 6.4 Acidic
3 Ddddd 6.5 Neutral
4 Eeeee 6.6 Neutral
5 Fffff 7.0 Neutral
6 Ggggg 7.5 Neutral
7 Hhhhh 7.6 Alkalic
8 Iiiii 8.1 Alkalic
9 Jjjjj 14.0 Alkalichttps://stackoverflow.com/questions/64951101
复制相似问题