我有以下范围和熊猫数据框:
x >= 0 # success
-10 <= x < 0 # warning
X < -10 # danger
df = pd.DataFrame({'x': [2, 1], 'y': [-7, -5], 'z': [-30, -20]})
我想根据值在定义范围内的位置对数据框中的值进行分类。所以我希望最后的测向仪看起来像这样:
x y z x_cat y_cat z_cat
0 2 -7 -30 success warning danger
1 1 -5 -20 success warning danger
我尝试过使用category
数据类型,但似乎我无法在任何地方定义范围。
for category_column, value_column in zip(['x_cat', 'y_cat', 'z_cat'], ['x', 'y', 'z']):
df[category_column] = df[value_column].astype('category')
我可以使用category
数据类型吗?如果没有,我在这里能做什么?
您可以编写一个小函数,然后使用apply将每个序列传递给该函数:
可以使用assign创建新列。对于每个新列,使用apply来筛选序列。
会导致
pandas.cut
numpy
相关问题 更多 >
编程相关推荐