【发布时间】:2020-09-26 22:01:56
【问题描述】:
我第一次发帖-请善待。我真的一直在寻找和寻找正确的答案,并且尝试了所有我能找到的选项。谷歌搜索错误以尝试调整代码。我已经看过转义字符了。
我有一个带有名为 Page 的列的 pandas 数据框。这是网页名称列表(不是网址)。
所以目前它们以 3 种格式编写:
- 回家?家 ?页面名称1
- 首页 |主页 |页面名称2
- 主页名称3
我希望它们都被格式化为数字 3。
我正在尝试从该列中的字符串对象中删除字符,但保留其余代码。
我用过这个:
df.loc[df['Page'].str.replace(('\?|\|'), ''), Regex=True, Inplace=True]
但我得到了输出:
File "<ipython-input-80-2c616b171200>", line 2
df['page']=df.loc[df['Page'].str.replace(('\?|\\'), ''), Regex=True, Inplace=True]
SyntaxError: invalid syntax
如果我使用它,输出相同:
df['page']=df.loc[df['Page'].str.replace(('\?|\|'), ''), Regex=True, Inplace=True]
我已经尝试了其他选项,例如:
x=pd.Series['Page']
x.str.replace('\?|\|','',regex = True, inplace=True)
但这给了我:
TypeError Traceback (most recent call last) <ipython-input-70-6563d5fa5d40> in <module> 1 #clean up page names ----> 2 x=pd.Series['Page'] 3 x.str.replace('\?|\|','',regex = True, inplace=True) TypeError: 'type' object is not subscriptable
有人可以帮忙吗?
谢谢
米兹
【问题讨论】:
-
在文档中:pandas.pydata.org/pandas-docs/stable/reference/api/… 方法 str.replace 没有 inplace 参数。它返回系列的修改副本。删除该论点解决了问题。