Удалить столбец значений Pandas

#python #pandas

#python #pandas

Вопрос:

Я начал изучать pandas и пытаться анализировать данные

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

В качестве примера в первом индексе указаны Колумбия, Мексика, США, и я хочу только взять первую Colombia [0] и удалить другую contry [1: x], возможно ли это?

Я пробую несколько таких, как loc, iloc или drop(), но я зашел в тупик, поэтому я спросил здесь

Столбец с несколькими значениями

Комментарии:

1. Эй, Джастин, это хороший вопрос, и на него есть несколько хороших ответов. Вы можете обнаружить, что это помечено как закрытое. Здесь, на SO, мы запрещаем загружать изображения кода или данных и просим просмотреть реальный код и реальные выходные данные на консоль, чтобы улучшить общее качество сайта и упростить ответы на вопросы.

2. О, я все еще новичок в SO, и я не знал об этом, спасибо за ваш совет 🙂

Ответ №1:

Вы можете использовать Series.str.split :

 df['country'] = df['country'].str.split(',').str[0]
  

Рассмотрим ниже df для примера:

 In [1520]: df = pd.DataFrame({'country':['Colombia, Mexico, US', 'Croatia, Slovenia, Serbia', 'Denmark', 'Denmark, Brazil']})

In [1521]: df
Out[1521]: 
                     country
0       Colombia, Mexico, US
1  Croatia, Slovenia, Serbia
2                    Denmark
3            Denmark, Brazil

In [1523]: df['country'] = df['country'].str.split(',').str[0]

In [1524]: df
Out[1524]: 
    country
0  Colombia
1   Croatia
2   Denmark
3   Denmark
  

Комментарии:

1. @JustinPark Пожалуйста, дайте мне знать, сработал ли ответ?

2. Эй, спасибо, что помогли мне, это работает !! 🙂 прямо сейчас я все еще изучаю split в документации pandas, спасибо

Ответ №2:

Использовать .str.split() :

 df['country'] = df['country'].str.split(',',expand=True)[0]