我是新手 do dask(作为 dd 导入)并尝试转换一些 pandas(作为 pd 导入)代码。
以下几行的目标是将数据切片到这些列,这些值满足 dask 中计算的要求。
csv中有一个给定的表。以前的代码读取
inputdata=pd.read_csv("inputfile.csv");
pseudoa=inputdata.quantile([.035,.965])
pseudob=pseudoa.diff().loc[.965]
inputdata=inputdata.loc[:,inputdata.columns[pseudob.values>0]]
inputdata.describe()
并且工作正常。我对转换的简单想法是将第一行替换为
inputdata=dd.read_csv("inputfile.csv");
但这导致了奇怪的错误消息IndexError: too many indices for array
。即使切换到准备好的计算数据,inputdata
错误pseudob
仍然存在。
也许这个问题专门针对 dask-columns 计算布尔切片的想法。
我刚刚找到了一种(可能不是最佳的)方法(不是解决方案)来做到这一点。将第 4 行更改为以下内容
inputdata=inputdata.loc[:,inputdata.columns[(pseudob.values>0).compute()[0]]]
似乎工作。