繁体   English   中英

DataFrame中的.replace()不会替换

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM