#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]