【发布时间】:2019-06-16 17:56:26
【问题描述】:
我正在尝试根据三列的值在 Pandas 数据框中创建一个新列,如果每列 ['A','B','C'] 的值大于 5,则输出 = 1如果在任一列 ['A','B','C'] 中有任何小于 5 的值,则输出 =0 数据框如下所示:
A B C
5 8 6
9 2 1
6 0 0
2 2 6
0 1 2
5 8 10
5 5 1
9 5 6
预期输出:
A B C new_column
5 8 6 1
9 2 1 0
6 0 0 0
2 2 6 0
0 1 2 0
5 8 10 1
5 5 1 0
9 5 6 1
我尝试使用此代码,但它没有给我想要的输出:
conditions = [(df['A'] >= 5) , (df['B'] >= 5) , (df['C'] >= 5)]
choices = [1,1,1]
df['new_colum'] = np.select(conditions, choices, default=0)
【问题讨论】:
-
试试
df['new_column'] = (df['A'] >= 5) & (df['B'] >= 5) & (df['C'] >= 5)
标签: python python-3.x pandas python-2.7 jupyter-notebook