Значение индекса данных - PullRequest
0 голосов
/ 04 марта 2020

У меня есть датафрейм. , Dance, Theatre]})

Мне нужно создать новый столбец с именем 'Val', который имеет индекс элемента из события 2, как это происходит в событии1. Например, Val будет 'Val': [1,0, NaN, 2].

1 Ответ

0 голосов
/ 04 марта 2020

Вот способ, которым вы можете сделать:

Решение 1

import numpy as np

df['val'] = df['Event2'].apply(lambda x: np.where(x == df['Event1'])[0][0]) 

print(df)

    Event1   Event2  val
0    Music   Poetry    1
1   Poetry    Music    0
2  Theatre   Comedy    3
3   Comedy  Theatre    2

Решение 2

df = pd.DataFrame({'Event1':['Music', 'Poetry', 'Theater', 'Comedy'], 'Event2':['Poetry', 'Music', 'Dance', 'Theater']})

df['val'] = (df['Event2']
                 .apply(lambda x: np.argwhere(x == df['Event1']))
                 .apply(lambda x: x[0][0] if len(x)>0 else x)
                )
df['val'] = pd.to_numeric(df['val'], errors='coerce')

print(df)

    Event1   Event2  val
0    Music   Poetry  1.0
1   Poetry    Music  0.0
2  Theater    Dance  NaN
3   Comedy  Theater  2.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...