0
我是新做dask(導入爲dd)並嘗試轉換一些熊貓(導入爲pd)代碼。dask(來自熊貓)列的子選擇通過計算布爾指數
以下幾行的目標是將數據切片到這些列,這些列的值將在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]]]
似乎正常工作。