Python 如何保存一个系列的最后四个字母?
我有一系列的单词,我只想保留最后四个字母:Python 如何保存一个系列的最后四个字母?,python,pandas,list,series,Python,Pandas,List,Series,我有一系列的单词,我只想保留最后四个字母: X = data['stem'] 0 abalanz 1 abander 2 abandon 3 abanic 4 abarat 3029 best 3030 bib 3031 bolb 3032 Laz 3033 zurz 我尝试了str.replace,但对该系列没有任何影响 X = pd.Series(X).str.
X = data['stem']
0 abalanz
1 abander
2 abandon
3 abanic
4 abarat
3029 best
3030 bib
3031 bolb
3032 Laz
3033 zurz
我尝试了str.replace,但对该系列没有任何影响
X = pd.Series(X).str.replace('[-4:]', '', regex=False)
我尝试将序列转换为列表,然后对其进行操作,但这只保留列表的最后四项
test = [X]
plop = [x[-4:] for x in test]
[3030 bib
3031 bolb
3032 Laz
3033 zurz
Name: stem, dtype: object]
我不明白的是,当我在其他列表中使用此函数时,它会起作用
test = ['abbbb','acccc','adddd']
plop = [x[-4:] for x in test]
['bbbb', 'cccc', 'dddd']
这应该起作用:
X = data['stem'].apply(lambda x: x[-4:])
请试试这个,它对我有用
li = ['abalanz', 'abander', 'abandon', 'best', 'bib']
df = pd.DataFrame(li, columns=['stem'])
df
stem
0 abalanz
1 abander
2 abandon
3 best
4 bib
df['stem'] = df['stem'].apply(lambda row: row[-4:])
df
stem
0 lanz
1 nder
2 ndon
3 best
4 bib
您可以将列(系列)转换为字符串并执行切片
X = data['stem'].str[-4:]
结果:
0 lanz
1 nder
2 ndon
3 anic
4 arat
5 zurz
test=[X]
不会将序列转换为列表。此处无需替换。您希望对字符串进行切片:df.stem.str[-4://code>