使用Pandastr.查找方法对dataframe列中的字符串进行切片

2024-10-01 13:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe列,可能如下所示:

s = pd.Series(["a0a1a3", "b1b3", "c1c1c3c3"], index=["A", "B", "C"])

我可以找到str.查找我想在每个单元格中找到方法:

^{pr2}$

但是我找不到如何使用这些函数来剪切该列中的字符串。例如:

s.str[s.str.find('1').values:s.str.find('3').values].values

给予

array([ nan,  nan,  nan])

组合这些功能的正确方法是什么?在


Tags: 方法函数字符串dataframeindexnanfindseries
1条回答
网友
1楼 · 发布于 2024-10-01 13:34:09

这就是你想要的吗?在

In [87]: s.str.split('1').str[0]
Out[87]:
A    a
B    b
C    c
dtype: object

In [88]: s.str.split('1').str[1]
Out[88]:
A    a2
B    b2
C    c2
dtype: object

或者

^{pr2}$

您将在official Pandas docs site上找到许多有用的示例

更新:

In [203]: s = pd.Series(["a1a2", "b1b2", "c1c2", "aaaaaa1XX"], index=["A", "B", "C", "D"])

In [204]: s
Out[204]:
A         a1a2
B         b1b2
C         c1c2
D    aaaaaa1XX
dtype: object

In [205]: s.str.split('1', expand=True)
Out[205]:
        0   1
A       a  a2
B       b  b2
C       c  c2
D  aaaaaa  XX

更新2:

In [224]: s
Out[224]:
A      a0a1a3
B        b1b3
C    c1c1c3c3
dtype: object

In [225]: s.str.extract(r'1(.*?)3', expand=False)
Out[225]:
A      a
B      b
C    c1c
dtype: object

注意:请始终发布源数据集和所需数据集-否则我们必须猜测您试图实现的目标。。。在

相关问题 更多 >