1 回答

TA贡献1943条经验 获得超7个赞
您可以split通过索引drop_duplicates删除重复项来使用和选择列表的第一个值:
changed_data=df['Category'].drop_duplicates().str.split().str[0]
也可以仅按第一个空格拆分:
changed_data=df['Category'].drop_duplicates().str.split(n=1).str[0]
如果性能很重要并且没有NaNs 值:
changed_data= pd.Series([x.split()[0] for x in df['Category'].drop_duplicates(),
index=df.index)
样品:
df = pd.DataFrame({'Category':['some way','nice', 'yop yop m',
'be happy', 'nice', 'yop man']})
print (df)
Category
0 some way
1 nice
2 yop yop m
3 be happy
4 nice
5 yop man
首先删除重复项,然后获取第一个单词:
changed_data=df['Category'].drop_duplicates().str.split().str[0]
print (changed_data)
0 some
1 nice
2 yop
3 be
5 yop
Name: Category, dtype: object
或者先获取第一个单词,然后删除重复项:
changed_data=df['Category'].str.split().str[0].drop_duplicates()
print (changed_data)
0 some
1 nice
2 yop
3 be
Name: Category, dtype: object
添加回答
举报