С Новым годом, ребята. У меня есть Dataframe, содержащий int и строки в каждом столбце. В моем строковом столбце некоторые из моих значений содержат "-" посередине, и я хочу удалить любую строку, которая следует после "-". Взгляните на мой df ниже.
input:
buzz_id facet facet_cls facet_val p_buzz_date
0 95713207 A3 Small MN 20160101
1 95713207 S3 Small-box Tbd 20160101
2 95713207 F1 Medium es 20160101
3 95713207 A2 Medium-box esf 20160101
4 95713207 A1 Dum-pal ess 20160101
...
output:
buzz_id facet facet_cls facet_val p_buzz_date
0 95713207 A3 Small MN 20160101
1 95713207 S3 Small Tbd 20160101
2 95713207 F1 Medium es 20160101
3 95713207 A2 Medium esf 20160101
4 95713207 A1 Dum ess 20160101
...
Поэтому в моих столбцах «facet_cls» все, что идет после «-» (включая «-»), необходимо удалить. Кроме того, мои данные очень большие, поэтому я надеялся использовать самый быстрый процесс, который я смог найти. Любые идеи?
Заранее спасибо!
2 ответа
Используйте split
а затем выберите только первые значения списков по str[0]
:
df['facet_cls'] = df['facet_cls'].str.split('-').str[0]
print (df)
buzz_id facet facet_cls facet_val p_buzz_date
0 95713207 A3 Small MN 20160101
1 95713207 S3 Small Tbd 20160101
2 95713207 F1 Medium es 20160101
3 95713207 A2 Medium esf 20160101
4 95713207 A1 Dum ess 20160101
Деталь:
print (df['facet_cls'].str.split('-'))
0 [Small]
1 [Small, box]
2 [Medium]
3 [Medium, box]
4 [Dum, pal]
Name: facet_cls, dtype: object
Вы также можете сделать это, используя лямбда-выражение, как показано ниже:
df['facet_cls'] = df['facet_cls'].apply(lambda x:x.split('-')[0])
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.