Извлечь часть строки на основе значения другого столбца в python - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу добавить первую часть столбца (B) на основе значения другого столбца (A) минус 1, чтобы получить вывод. Например, если столбец A равен 4, то мне нужны первые 3 символа столбца B.

Есть предложения? С благодарностью!

+---+---------------+------+
| A |       B       | Out  |
+---+---------------+------+
| 4 |  CTAAT        |  CTA |
| 3 |  GKAEI        |  GK  |
+---+---------------+------+

ie первые 3 буквы столбца B в строке 1, первые 2 буквы столбца B в строке 2.

Мой текущий подход, который не работает :

df['output']= df.B.str[0:(df[A]-1)]

1 Ответ

1 голос
/ 10 апреля 2020

Вы можете использовать pandas .apply :

df['output']=df.apply(lambda x: x['B'][:x['A']-1], axis=1)
print(df)

A      B         output
4      CTAAT     CTA
3      GKAEI     GK
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...