我试着在熊猫身上拉断一根绳子,但得到了一个奇怪的结果:split工作得很好,但rsplit不行。原因似乎是或“|”的存在,但我真的很难理解为什么会这样。 例如:
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 | | |
我猜这是由于regexp固有的左不对称,但我没有找到任何好的解释。 提前谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐