0

我正在处理一个数据框,其一列是对象类型:

例子: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']在新列中

4

1 回答 1

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

请注意,一列字符串在 pandas 中被视为“对象”dtype,因此您应该已经拥有正确的 dtype

于 2020-02-06T15:29:29.123 回答