如果字符串是python数据框中的字母,则从该字符串中删除最后一个字符



这可能是用正则表达式完成的,我不是很擅长。

我的数据框架是这样的:

import pandas as pd
import regex as re
data = {'postcode': ['DG14','EC3M','BN45','M2','WC2A','W1C','PE35'], 'total':[44, 54,56, 78,87,35,36]}
df = pd.DataFrame(data)
df
postcode    total
0   DG14        44
1   EC3M        54
2   BN45        56
3   M2          78
4   WC2A        87
5   W1C         35
6   PE35        36

我想在我的列中得到这些字符串,最后一个字母被去掉,像这样:

postcode    total
0   DG14        44
1   EC3         54
2   BN45        56
3   M2          78
4   WC2         87
5   W1C         35
6   PE35        36

可能是使用re.sub('', 'D')?

谢谢。

您可以在这里使用str.replace:

df["postcode"] = df["postcode"].str.replace(r'[A-Za-z]$', '')

方法之一:

import pandas as pd
import re
data = {'postcode': ['DG14','EC3M','BN45','M2','WC2A','W1C','PE35'], 'total':[44, 54,56, 78,87,35,36]}
data['postcode'] = [re.sub(r'[a-zA-Z]$', '', item) for item in data['postcode']]
df = pd.DataFrame(data)
print(df)

输出:

postcode  total
0     DG14     44
1      EC3     54
2     BN45     56
3       M2     78
4      WC2     87
5       W1     35
6     PE35     36

最新更新