我在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/

10-12 16:54