[英].replace() in a DataFrame does not 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;
不要for
循环。 代替:
excel_file['dateTime'] = excel_file['dateTime'].str.replace(';', ' ')
这个答案的隐含事实是str.replace()
返回一个新字符串,而不是原地修改原始字符串。 那是您原始代码中的功能缺陷。 但是,在没有for
循环的情况下执行此操作会快很多倍。
参考: https : //pandas.pydata.org/pandas-docs/stable/genic/pandas.Series.str.replace.html
如果在某些字符串上使用.replace(';', ' ')
-它将返回带有替换的新字符串。 因此,您需要:
for i in excel_file['dateTime']:
excel_file['dateTime'][i] = i.replace(';', ' ') # probably
那是您是否需要更换。 但是@ john-zwinck也为您的情况提供了更好的解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.