Панды: создать столбец на основе того, существует ли значение в разных столбцах - PullRequest
0 голосов
/ 07 декабря 2018

Я хотел бы создать новый столбец на основе следующих условий:

  • , если столбец 1 не пустой, тогда значение нового столбца равно 1
  • , если столбец 2 не является 't пусто, затем новый столбец, тогда значение равно 100
  • , если оба столбца не пусты, тогда значение нового столбца равно 101

Есть ли лучший способ сделать это?Thx

df = pd.DataFrame([['a', np.nan, 100], ['b', 20, np.nan], ['c', 30, 300], ['d', np.nan, np.nan]])


df['is_1'] =  np.where(df[1].notnull(), 1, 0)
df['is_2'] =  np.where(df[2].notnull(), 100, 0)
df['sum'] = df['is_1'] + df['is_2']

1 Ответ

0 голосов
/ 07 декабря 2018

Просто обратите внимание, что логические значения переводятся в 0 / 1 для вычислений:

df['sum'] = df[1].notnull() + df[2].notnull() * 100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...