我在python中有一个DataFrame,其中的一列持有2个日期的差异。我想在现有列上创建一个新的/覆盖的,可以根据以下规则将数字转换为分类变量:
difference 0 days Level 0
difference 2 days Level 1
difference 2-6 days Level 2
difference 6-15 days Level 3
difference 15-69 days Level 4
difference NAT Level 5
如何做到这一点。
最佳答案
说列名称是“差异”
你可以定义一个像
def get_difference_category(difference):
if difference < 0:
return 0
if difference <=2:
return 1
#.. and so on
df['difference'] = df['difference'].apply(lambda value: get_difference_category(value), axis=1)
参考链接:
https://github.com/vi3k6i5/pandas_basics/blob/master/2_b_apply_a_function_row_wise.ipynb
https://github.com/vi3k6i5/pandas_basics/blob/master/2_c_apply_a_function_to_a_column.ipynb
关于python - Python:在现有列中创建分类变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44753401/