Как разбить строку в столбце внутри фрейма данных pandas? - PullRequest
0 голосов
/ 10 октября 2019

Это пример файла, который у меня есть,

Name     Att1     Att2     Att3
AB_EN    1        2        3
CD       5        6        7
FG_EN    7        8        9

Итак, в столбце «Имя», где присутствует «_EN», я хочу удалить часть «_EN». Вывод должен быть следующим:

Name     Att1     Att2     Att3
AB       1        2        3
CD       5        6        7
FG       7        8        9

Это то, что я пытался:

name = df['Name']

for entry in name:
    if "_EN" in entry:
       entry = entry.split('_')[0]

Однако это не работает. Какой хороший способ сделать это?

Ответы [ 3 ]

1 голос
/ 10 октября 2019

Использование str.split

Пример:

df = pd.DataFrame({"Name": ["AB_EN", "CD", "FG_EN"]})
df['Name'] = df['Name'].str.split("_").str[0]
print(df)

Выход:

  Name
0   AB
1   CD
2   FG
0 голосов
/ 10 октября 2019

Это должно работать для вас:

df['Name'] = [name.split('_')[0] for name in df['Name']]

Вам просто нужно внести изменения в ряд в вашем фрейме данных.

0 голосов
/ 10 октября 2019

Вы можете использовать строковые методы панд Серии

В вашем случае это будет

df['Name']=(df.Name
      .str.split('_')  # split on _
      .str[0] # Only keep first part of the split
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...