我正在尝试删除DF列中每个字符串的第三个和第四个字母。每次都是不同的字母,所以我不知道如何使用正则表达式。例如,如果我的DF是:
{A B C
'32435' 3 5
'45243' 2 4}
我试着把它变成:
{A B C
'325' 3 2
'453' 2 4}
发布于 2018-07-23 00:47:05
您可以使用以下代码来实现此目的:
DF["A"] = DF["A"].map(lambda x: str(x)[0:2]+str(x)[4])
这将使A列显示为:
"325"
"453"
这种方法比其他方法更快、更有效。
发布于 2018-07-23 00:44:40
df['A']=df['A'].str[:2]+df['A'].str[-1]
发布于 2018-07-23 00:53:33
如果不能保证列A的长度为5,那么检查第一列可能会很有帮助:
df = pd.DataFrame({'A':['32435','45243','123']})
def stripstring(s):
# put in try except in case string is short
try:
return s[:2] + s[4:]
except IndexError:
return s
df['A'] = df.apply(lambda row: stripstring(row['A']), axis=1)
输出
A
0 '325'
1 '453'
2 '12'
https://stackoverflow.com/questions/51467164
复制相似问题