我想将open、high和low的NaN值替换为close。但是,此条件仅在更改为0.00
时应用
下面是我的代码
try:
url = 'https://api.iextrading.com/1.0/stock/AAME/chart/1y'
q_data = pd.read_json(url)
if q_data.change == 0.00:
q_data.open = q_data.close
q_data.high = q_data.close
q_data.low = q_data.close
except Exception:
print "No data"
continue
问题是try
循环被绕过并转到except
循环。
如何正确更改数据?在
我建议通过广播使用^{} 和
numpy
中的链布尔掩码的非循环解决方案:说明:
存在问题链},获取错误:
^{pr2}$boolen DataFrame
,带有{解决方案在numpy broadcasting:
因此,有必要创建N x 1阵列:
这是一种构建逻辑的方法。没有内置函数
fillna
依赖于其他列,但通过组合布尔数组可以获得相同的结果:绩效基准
循环可以比明显的向量化方法快。一些{}专家也许能够阐明性能差异。数据来自@jezrael。在
^{pr2}$相关问题 更多 >
编程相关推荐