首页 > 解决方案 > DataFrame 中的 .replace() 不会替换

问题描述

我正在尝试;从 DataFrame 中的列中删除,但是当我使用该.replace(';', ' ')方法时,它不会替换半列,这就是我的做法:

for i in excel_file['dateTime']:
    i.replace(';', ' ')

这是我的'dateTime'专栏的样子:

11-06-18;
18-06-18;
18-09-18;
14-06-18;
20-06-18;
13-06-18;
21-06-18;
19-06-18;
19-06-18;
20-06-18;
11-06-18;
22-06-18;

标签: pythonpandas

解决方案


不要使用for循环。反而:

excel_file['dateTime'] = excel_file['dateTime'].str.replace(';', ' ')

这个答案中隐含的是返回一个新字符串的事实str.replace(),而不是就地修改原始字符串。那是您原始代码中的功能缺陷。但是在没有for循环的情况下这样做会快很多倍。

参考:https ://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.replace.html


推荐阅读