Pandas 根据另一列分配一列的值

Dan*_*ty2 3 python-3.x pandas

给定以下数据框:

import pandas as pd
df = pd.DataFrame(
        {'A':[10,20,30,40,50,60],
         'B':[1,2,1,4,5,4]
        })
df

    A   B
0   10  1
1   20  2
2   30  1
3   40  4
4   50  5
5   60  4
Run Code Online (Sandbox Code Playgroud)

我希望新列“C”的值等于“A”中的值,其中“B”的相应值小于 3,否则为 0。所需的结果如下:

    A   B  C
0   10  1  10
1   20  2  20
2   30  1  30
3   40  4  0
4   50  5  0
5   60  4  0
Run Code Online (Sandbox Code Playgroud)

提前致谢!

ber*_*nie 6

使用np.where

df['C'] = np.where(df['B'] < 3, df['A'], 0)

>>> df
    A  B   C
0  10  1  10
1  20  2  20
2  30  1  30
3  40  4   0
4  50  5   0
5  60  4   0
Run Code Online (Sandbox Code Playgroud)