首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果字符串以特定字符(Pandas)结尾,即将'-‘添加到以'-’结尾的字符串,则如何在字符串中添加前缀

如果字符串以特定字符(Pandas)结尾,即将'-‘添加到以'-’结尾的字符串,则如何在字符串中添加前缀
EN

Stack Overflow用户
提问于 2021-03-25 02:50:21
回答 4查看 415关注 0票数 0

对于特定的列(dtype = object),如果字符串以'-‘结尾,那么如何将'-’添加到字符串的开头。

即皈依:“May500 500-”to -5月500

(我需要将它添加到列中的每个元素中)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-03-25 03:07:51

代码语言:javascript
运行
复制
def add_prefix(text):
    # If text is null or empty string the -1 index will result in IndexError
    if text and text[-1] == "-":
        return "-"+text
    return text

df = pd.DataFrame(data={'A':["MAY500", "MAY500-", "", None, np.nan]})
# Change the column to string dtype first
df['A'] = df['A'].astype(str)
df['A'] = df['A'].apply(add_prefix)

0      MAY500
1    -MAY500-
2            
3        None
4         nan
Name: A, dtype: object
票数 1
EN

Stack Overflow用户

发布于 2021-03-25 03:14:01

试着做这样的事情:

代码语言:javascript
运行
复制
#setup
df = pd.DataFrame({'col':['aaaa','bbbb-','cc-','dddddddd-']})

mask = df.col.str.endswith('-'), 'col'
df.loc[mask] = '-' + df.loc[mask]

输出

代码语言:javascript
运行
复制
df
          col
0        aaaa
1      -bbbb-
2        -cc-
3  -dddddddd-
票数 3
EN

Stack Overflow用户

发布于 2021-03-25 03:15:22

您可以使用np.select给出如下数据:

代码语言:javascript
运行
复制
df
  values
0  abcd-
1  a-bcd
2   efg-

您可以按以下方式使用np.select

代码语言:javascript
运行
复制
df['values'] = np.select([df['values'].str.endswith('-')], ['-' + df['values']], df['values'])

产出:

代码语言:javascript
运行
复制
df
   values
0  -abcd-
1   a-bcd
2   -efg-
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66792372

复制
相关文章

相似问题

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