添加一个新列,其中一些值被操纵

时间:2019-08-28 07:09:03

标签: python pandas

我有一个数据框,其中第1列填充日期,第2列填充年龄。我想添加一个第三列,该列将查看“年龄”列并将其值乘以2(如果该行中的值<20),否则只需将“年龄”放入该行。每个年龄以下的lambda函数乘以2。


def fun(df):
    change = df.loc[:, "AGE"].apply(lambda x: x * 2 if x <20 else x)
    df.insert(2, "NEW_AGE", change)

    return df



1 个答案:

答案 0 :(得分:1)

使用pandas.Series.where

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(15, 25), columns=['AGE'])
df['AGE'].where(df['AGE'] >= 20, df['AGE'] * 2)

输出:

0    30
1    32
2    34
3    36
4    38
5    20
6    21
7    22
8    23
9    24
Name: AGE, dtype: int64