我想从该列中提取特定值
article/dimension
FI SW F 3/4/5 22,0 x 145,0
FI SW F 3/4/5 22,0 x 145,0
FI SW F 3/4/5 22,0 x 145,0
我只需要这部分22,0 x 100,0
我发现了这个熊猫函数pandas.Series.str.contains
,您可以在其中测试模式或正则表达式是否包含在Series或Index的字符串中
所以我需要创建一个正则表达式并在模式之后过滤列,但是我不知道如何创建正则表达式模式,有没有简单的正则表达式生成器?我发现这个网站reg generator 但不知道如何实现
答案 0 :(得分:0)
使用str.extract
:
df['article/dimension'].str.extract(r'(\d+(?:,\d+)? x.*$)')
答案 1 :(得分:0)
如果您不仅要提取整个 dimension 部分, 但也对两个数值片段都感兴趣,请运行:
df['article/dimension'].str.extract(
r'(?P<Dim>(?P<N1>\d+(?:,\d+)) x (?P<N2>\d+(?:,\d+)))')
由于我使用了命名捕获组,因此所有输出列均具有其名称, 什么更具可读性。
结果是:
Dim N1 N2
0 22,0 x 145,0 22,0 145,0
1 22,0 x 145,0 22,0 145,0
2 22,0 x 145,0 22,0 145,0