Как создать логический столбец в зависимости от положительных или отрицательных значений другого столбца - PullRequest
0 голосов
/ 11 июля 2019

У меня есть фрейм данных со столбцом, подобным этому:

184         1
190        -2
272       -14
382       -40
439        20
440        20
797       -45
1108        0
1122       -1
1415       -1
1419        0
1641       -1

Мне нужно создать логический столбец, значение которого будет равно 1, если значение в строке предыдущего столбца положительное,или 0, если значение отрицательное.

выходной столбец будет выглядеть так:

1 1
2 0
3 0
4 0
5 1

и т. д. Основная идея состоит в том, что этот столбец будет соответствовать другому столбцу, учитывая, чтозначение там положительное или отрицательное.

Как я могу сделать это в пандах?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 11 июля 2019

Вы можете сделать

df[, "new_col"] = np.where(df[,"old_col"]>0,1,0)
1 голос
/ 11 июля 2019
df['mycolumn'] > 0

Дает вам массив истинных / ложных значений.Вы можете просто сохранить их напрямую:

df['is_positive'] = df['mycolumn'] > 0

Или вы используете numpy.where(boolean_list, true_value, false_value), который заменяет в логическом списке значения True на true_value и значения False на false_value.

df['is_positive'] = np.where(df['mycolumn'] > 0, 1, 0)
...