Эквивалент функции numpy where в pandas - PullRequest
1 голос
/ 26 мая 2020

Вот моя проблема, у меня есть два столбца, как показано ниже:

 A   B
-3   4
-6  -8
12  14

Я хотел бы создать код, который заменяет все значения на 1, если значение> -2, и на 0, если нет .

Я знаю, что с numpy было бы просто использовать d["newcolum"]=np.where(d < -2,1,0), но у меня больше трудностей с pandas в качестве функции where, которая просто показывает значение, если условие не выполняется.

Ребята, вы знаете что-нибудь, что могло бы мне помочь? Спасибо

1 Ответ

1 голос
/ 26 мая 2020

Если вы хотите установить значения 0 и 1, преобразовать логическую маску в целое число:

df = (df < -2).astype(int)
print (df)
   A  B
0  1  0
1  1  1
2  0  0

Использование np.where абсолютно нормально, нужен только конструктор DataFrame:

df = pd.DataFrame(np.where(df < -2,1,0), index=df.index, columns=df.columns)
print (df)
   A  B
0  1  0
1  1  1
2  0  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...