我想将列Actual、Forecast、Previous转换为float,以便对它们进行计算。csv还包含一些应该保留的nan
csv文件如下所示:
2018-01-04 04:30:00,GBP,Low Impact Expected,Mortgage Approvals,65K,64K,65K
2018-01-04 04:51:00,EUR,Low Impact Expected,Spanish 10-y Bond Auction,1.53|1.8,,1.49|2.0
2018-01-04 05:01:00,EUR,Low Impact Expected,French 10-y Bond Auction,0.79|1.4,,0.36|1.9
2018-01-04 07:30:00,USD,Low Impact Expected,Challenger Job Cuts y/y,-3.6%,,30.1%
到目前为止,我已经尝试过:
df.columns = ['Date','Currency','Impact','Event','Actual','Forecast','Previous']
df = df[~(df['Actual'].isin('|','<']))]
#df = df[~df.Actual.str.contains("|")]
df['Actual'] = df['Actual'].str.replace('%', '')
df['Forecast'] = df['Forecast'].str.replace('%', '')
df['Previous'] = df['Previous'].str.replace('%', '')
df['Actual'] = df['Actual'].str.replace('K', '000')
df['Forecast'] = df['Forecast'].str.replace('K', '000')
df['Previous'] = df['Previous'].str.replace('K', '000')
for i in df['Actual']: float(i)
for i in df['Forecast']: float(i)
for i in df['Previous']: float(i)
去除和<;不要工作。互联网上的许多建议似乎与文件中的值有关
我也不知道如何替换%,同时移动小数点,这样数字表示就正确了
希望有人能帮忙。谢谢
这不是最漂亮的方法,但我相信这就是你想要的:
这是我目前的解决方案,如果有人感兴趣,感谢宇宙探索的帮助
相关问题 更多 >
编程相关推荐