gpt4 book ai didi

string - Pandas 系列 str 链接在一起时替换不起作用

转载 作者:行者123 更新时间:2023-12-05 01:19:54 24 4
gpt4 key购买 nike

我发现了一些使用链式字符串操作处理 Series 的技巧。

我最终发现每个字符串操作都带有前缀“.str”。如果链式操作可以类似于应用程序执行,那就太好了。

这是代码

# Create dataframe
d = dict(a = ['ab\ncdef'], b = ['bbccdd'])
p = pd.DataFrame.from_dict(d)
print(p)

x1 = p.a.str.replace('c','=').replace('\n','-')[0]
x2 = p.a[0].replace('c','=').replace('\n','-')
x3 = p.apply(lambda r : r.a.replace('c','=').replace('\n','-'),axis=1)[0]
x4 = p.a.str.replace('c','=').str.replace('\n','-')[0]
x1,x2,x3,x4

这是输出。你可以看到 x1 不起作用但 x4 起作用

      a       b
0 ab\ncdef bbccdd

('ab\n=def', 'ab-=def', 'ab-=def', 'ab-=def')

因为 x3,x4 是解决方案...我发布此内容主要是为了分享并询问是否应将链式字符串操作应用于单个系列?只是好奇其他人是否打过这个。

最佳答案

这样做:

In [89]: p.a
Out[89]:
0 ab\ncdef
Name: a, dtype: object

In [90]: p.a.str.replace('c','=').str.replace('\n','-')
Out[90]:
0 ab-=def
Name: a, dtype: object

PS注意第二 .str

In [91]: p.a.str.replace('c','=').replace('\n','-')
Out[91]:
0 ab\n=def
Name: a, dtype: object

关于string - Pandas 系列 str 链接在一起时替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36868422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com