首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用字符串中的位置更改Pandas Dataframe列中的每个字符串

如何使用字符串中的位置更改Pandas Dataframe列中的每个字符串
EN

Stack Overflow用户
提问于 2018-07-23 00:37:15
回答 3查看 99关注 0票数 1

我正在尝试删除DF列中每个字符串的第三个和第四个字母。每次都是不同的字母,所以我不知道如何使用正则表达式。例如,如果我的DF是:

代码语言:javascript
复制
{A                     B           C

'32435'                3           5

'45243'                2           4}

我试着把它变成:

代码语言:javascript
复制
{A                     B           C

'325'                  3           2

'453'                  2           4}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-23 00:47:05

您可以使用以下代码来实现此目的:

代码语言:javascript
复制
DF["A"] = DF["A"].map(lambda x: str(x)[0:2]+str(x)[4])

这将使A列显示为:

代码语言:javascript
复制
"325"
"453"

这种方法比其他方法更快、更有效。

票数 1
EN

Stack Overflow用户

发布于 2018-07-23 00:44:40

代码语言:javascript
复制
df['A']=df['A'].str[:2]+df['A'].str[-1]
票数 1
EN

Stack Overflow用户

发布于 2018-07-23 00:53:33

如果不能保证列A的长度为5,那么检查第一列可能会很有帮助:

代码语言:javascript
复制
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)

输出

代码语言:javascript
复制
    A
0  '325'
1  '453'
2   '12'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51467164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档