说我有这样的清单:
Words
One
Twos
Threes
Four
Fives
...
Thousand
是否有一种相对简单的方法来删除' S'从结尾的话?所以它会变成:
Words
One
Two
Three
Four
Five
...
Thousand
答案 0 :(得分:1)
您可以使用np.where
来测试最后一个字符是否为's',如果是,则删除它,否则使用现有值,这将被矢量化并且比列表理解快得多:
In [14]:
df['Words'] = np.where(df['Words'].str[-1] == 's', df['Words'].str[:-1], df['Words'])
df
Out[14]:
Words
0 One
1 Two
2 Three
3 Four
4 Five
5 Thousand
可能更快的替代方法是使用loc
并且您的条件仅剥离包含尾随s的最后一个字符,所有其他行保持不变:
In [18]:
df.loc[df['Words'].str[-1] == 's','Words'] = df['Words'].str[:-1]
df
Out[18]:
Words
0 One
1 Two
2 Three
3 Four
4 Five
5 Thousand