В python, как использовать split ('_') для столбца с объектом dtype? - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю над фреймом данных, один столбец которого имеет тип объекта:

пример: name 36512 non-null object

Я пробовал следующее безуспешно

> name_str = autos['name'].to_string()
> print(type(name_str))   # this makes the name_str as type string
> autos['name'] = name_str  # putting it back in the data frame brought it back to type object

Кроме того, попробовал следующее:

> import json
> autos['name'] = json.dumps(name_str)

Моя цель - разделить первые два слова, используя split('_'), но я не могу этого сделать, если тип не является строкой

пример: BMW_740i_4_4_Liter_HAMANN_UMBAU_Mega_Optik

вывод: ['BMW', '740i'] в новом столбце

1 Ответ

0 голосов
/ 06 февраля 2020
import pandas as pd

df = pd.DataFrame({'name':['BMW_740i_4_4_Liter_HAMANN_UMBAU_Mega_Optik']})

df['new'] = df['name'].str.split('_').str[:2]

print(df)

Вывод:

                                         name          new
0  BMW_740i_4_4_Liter_HAMANN_UMBAU_Mega_Optik  [BMW, 740i]

Обратите внимание, что столбец строк считается d-типом "объекта" в pandas, поэтому у вас уже должен быть правильный тип dtype

...