我正在尝试从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;
答案 0 :(得分:6)
不要使用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
答案 1 :(得分:0)
如果您对某些字符串使用for i in excel_file['dateTime']:
excel_file['dateTime'][i] = i.replace(';', ' ') # probably
,则将返回替换为新字符串。
所以你需要:
$('[data-fancybox]').fancybox({
idleTime: 0,
afterShow: function(instance, current) {
current.$content.append('<p class="fancybox-extra"><button>Click me</button></p>');
}
});
如果你需要更换的话。但@ john-zwinck也提出了更好的解决方案