Как определить новый столбец на основе первого символа в другом столбце? (Панды) - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть датафрейм со столбцом, назовите его df['old'] строк, как показано ниже.

a1bc  
df3   
ca9se 
3as3d 
iu23  

Я хотел бы создать новый столбец, который указывает, начинается ли значение в исходном столбце одним из нескольких символов.

Что-то вроде следующего не работает, так как df['old'][0] возвращает a1bc.

df['new'] = df['old'][0] in ['a','b']

Есть ли способ сделать это без использования цикла? Я не знаю, как вызвать столбец, а затем только первое символьное значение для этого столбца.

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете использовать str для индексирования ваших строк в каждой строке, а затем использовать isin , чтобы проверить, присутствует ли он в вашем списке (использование in приведет к ValueError: The truth value of a Series is ambiguous):

>>> df
     old
0   a1bc
1    df3
2  ca9se
3  3as3d
4   iu23

df['new'] = df.old.str[0].isin(['a','b'])

>>> df
     old    new
0   a1bc   True
1    df3  False
2  ca9se  False
3  3as3d  False
4   iu23  False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...