Как разбить столбец, если у вас одинаковые значения? - PullRequest
0 голосов
/ 08 мая 2019

Я работаю над разбиением столбца в кадре данных, в столбце есть похожие слова, но отличаются только последние несколько слов.Я пытаюсь разделить общие слова в одном столбце, а слова, которые отличаются, - это другой столбец.

Вот так выглядит фрейм данных.

**Column1**   
InitialCharms::Charm::AAAAAA
InitialCharms::Charm::BBBBBB
InitialCharms::Charm::CCCCCC
InitialCharms::Charm::DDDDDD
InitialCharms::Charm::EEEEEE
InitialCharms::Charm::FFFFFF
InitialCharms::Charm::GGGGGG
InitialCharms::Charm::HHHHHH
InitialCharms::Charm::IIIIII
InitialCharms::Charm::JJJJJJ
InitialCharms::Charm::KKKKKK
InitialCharms::Charm::LLLLLL  

The Expected output:  

**Column1**              **Column2**  
InitialCharms             AAAAA  
InitialCharms             BBBBB  
InitialCharms             CCCCC  

Я пользуюсь пандами!

Ответы [ 2 ]

3 голосов
/ 08 мая 2019

Используйте Series.str.split и при необходимости удалите второй столбец с помощью drop:

df1 = df['Column1'].str.split('::', expand=True).drop(1, axis=1)

Или:

df1 = df['Column1'].str.split('::Charm::', expand=True)

df1.columns = ['Col1','Col2']
print (df1)
             Col1    Col2
0   InitialCharms  AAAAAA
1   InitialCharms  BBBBBB
2   InitialCharms  CCCCCC
3   InitialCharms  DDDDDD
4   InitialCharms  EEEEEE
5   InitialCharms  FFFFFF
6   InitialCharms  GGGGGG
7   InitialCharms  HHHHHH
8   InitialCharms  IIIIII
9   InitialCharms  JJJJJJ
10  InitialCharms  KKKKKK
11  InitialCharms  LLLLLL
2 голосов
/ 08 мая 2019

Попробуйте это

df['NewColumn1'] = df['Column1'].str.split('::').str[0]
df['NewColumn2'] = df['Column1'].str.split('::').str[-1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...