分割分隔符后的最后一个字符串,而不知道Pandas中新列中可用的分隔符的数量



数据帧中有一列包含多个单词,中间用点分隔但我永远无法知道单元格内的单词数所以我想要得到最后一个单词后面的点

列X: www.xyz.hgk.lmo.de.eu.price

www.amazon.us.stock
www.hhhh.com.price
www.ebay.eu.stock
www.mmm.price

期望列值:
price
stock
price
stock
price

我的试验:

x2['Desired Column Values'] = x2['Column X'].str.split('.').str[2]

但这是不正确的,因为我不知道'的数量。

你可以做一个rsplit,然后提取最后一个元素:

df['Column X'].str.rsplit('.', 1).str[-1]

同样地,你可以应用python函数:

df['Column X'].apply(lambda x: x.rsplit('.',1)[-1])

或者,您可以extract一个正则表达式模式:

df['Column X'].str.extract('([^.]+)$', expand=False)

输出:

0    price
1    stock
2    price
3    stock
4    price
Name: Column X, dtype: object
x = 'www.xyz.hgk.lmo.de.eu.price'
x_list = x.split('.')
print(x_list[-1])
# x.split -> takes a parameter called sep, it returns a list of words that are separated by '.', then to access the last element of the list we use [-1]

更改并应用此方法到您的需求

相关内容

  • 没有找到相关文章

最新更新