Rag*_*hav 5 python substring pandas
列“测试”具有多次出现相同分隔符的字符串。我试图获取这些分隔符内的字符串。你能帮忙吗。
例子:
Test
|||||CHNBAD||POC-RM0EP7-01-A
Run Code Online (Sandbox Code Playgroud)
我的代码:
df["Fetch"]=df["Test"].str.rsplit("|", 2).str[-2]
Run Code Online (Sandbox Code Playgroud)
但它给了我一个输出为POC-RM0EP7-01-A.
我希望从字符串中获取“ CHNBAD ”
使用您显示的示例,请尝试执行以下操作。我们可以在这里使用str.extractpf Pandas 函数。在列上应用str.extract函数Test并创建Fetch在 DataFrame 中命名的新列。
df['Fetch'] = df['Test'].str.extract(r'^\|+([^|]*)\|.*',expand=False)
Run Code Online (Sandbox Code Playgroud)
DataFrame 如下:
Test Fetch
0 |||||CHNBAD||POC-RM0EP7-01-A CHNBAD
Run Code Online (Sandbox Code Playgroud)
正则表达式的解释:
^\|+ ##Matching 1 or more matches of | from starting of value.
([^|]*) ##Creating 1st capturing group which has everything till next | comes.
\|.* ##Matching | and everything till last of value.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |