python - Pandas str.rsplit 不适用于逻辑或模式
问题描述
我试图在 Pandas 中对一个字符串进行 rsplit,得到了一个奇怪的结果:split 运行良好,但 rsplit 不是。原因似乎是 OR "|" 的存在,但我真的很难理解为什么会这样。例子:
stri = """Mywebsite.com/optiona/optionb/type/102/103/107?data=1.2. 1581202800. 1581289200.30"""
stri_1 = """optiona/optionb/type/102/103/107?data=1.2. 1581202800. 1581289200.30"""
df = pd.DataFrame({'input': [stri, stri_1]})
df_split1 = df['input'].str.split(r'\?data=', expand=True)
print(df_split1.loc[:, 0].str.rsplit(r'/|y', expand=True))
# | | 0 |
# |---:|:-----------------------------------------------|
# | 0 | Mywebsite.com/optiona/optionb/type/102/103/107 |
# | 1 | optiona/optionb/type/102/103/107 |
print(df_split1.loc[:, 0].str.split(r'/|y', expand=True))
# | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
# |---:|:--------|:------------|:--------|:--------|:----|:----|----:|----:|----:|
# | 0 | M | website.com | optiona | optionb | t | pe | 102 | 103 | 107 |
# | 1 | optiona | optionb | t | pe | 102 | 103 | 107 | | |
我想这是由于正则表达式的一些固有的左不对称性,但我没有找到任何好的解释。先感谢您!
解决方案
推荐阅读
- css - 创建描边和阴影 - HTML、CSS
- javascript - 将字符串转换为文件,然后转换为 base64
- python - 嵌套for循环字典存储值python nsepy
- java - 将字符串数组更改为整数
- python - Specific reasons to favor pip vs. conda when installing Python packages
- linux - 无法在用户数据部分 git clone 作为 ec2-user
- python - 如果当时的条件没有返回正确的值
- r - 为什么会这样?R应用和库函数
- c# - 为什么在列表中额外复制
.AddRange(IEnumerable )? - reactjs - 使用 webpack 配置运行 Jest 测试