首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Pandas基于格式替换字符串

Python Pandas基于格式替换字符串
EN

Stack Overflow用户
提问于 2015-10-22 10:01:52
回答 1查看 129关注 0票数 2

请用数据帧中每一行的"x-y"替换为"x“、x+1、x+2、.、y"?(其中x,y是整数)。例如,我希望像这样替换每一行:

"1-3,7“改为"1,2,3,7”

"1,4,6-9,11-13,5“改为"1,4,6,7,8,9,11,12,13,5”等字

我知道,通过遍历行并使用正则表达式,我们可以做到这一点。但是这张桌子很大,而且需要相当长的时间。所以我认为使用熊猫可能会更快。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 10:28:51

在熊猫中,您可以使用应用对DataFrame中的任何行或列应用任何函数。函数可以用lambda传递,也可以单独定义。

(旁注:你的例子并没有完全表明你是否真的有一个二维DataFrame或仅仅一个一维系列。无论哪种方式,都可以使用apply )

下一步是找到正确的函数。下面是一个粗略的版本(没有正则表达式):

代码语言:javascript
复制
def make_list(str):
    lst = str.split(',')
    newlst = []
    for i in lst:
        if "-" in i:
            newlst.extend(range(*[int(j) for j in i.split("-")]))
        else:
            newlst.append(int(i))
    return newlst
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33278359

复制
相关文章

相似问题

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