私はパンダのデータフレームを使用してクリーンアップし、後でマトリックスとして読み込む500以上のファイルを持っています。私は今私のファイル全体の複数の変数から欠けている行のデータを削除したいと思う。各変数はその形状がかなり長いです。たとえば、tcとwspdは形状(84479,558)、圧力は形状(558)です。私は以前の例を試してみましたが、同じ形状の1次元配列では過去に働いていましたが、2次元配列では動作しなくなりました。複数の変数のデータ行を削除する
bad=[]
for i in range(len(p)):
if p[i]==-9999 or tc[i]==-9999:
bad.append(i)
p=numpy.delete(p, bad)
tc=numpy.delete(tc, bad)
代わりに次のコードを使用してみましたが、成功しませんでした(残念ながら)。
import numpy as n
import pandas as pd
wspd=pd.read_pickle('/home/wspd').as_matrix()
tc=pd.read_pickle('/home/tc').as_matrix()
press=n.load('/home/file1.npz')
p=press['press']
names=press['names']
length=n.arange(0,84479)
for i in range(len(names[0])): #using the first one as a trial to run faster
print i #used later to see how far we have come in the 558 files
bad=[]
for j in range(len(length)):
if (wspd[j,i]==n.nan or tc[j,i]==n.nan):
bad.append(j)
print bad
そこから私は私が私の最初のforloop内から削除しています次元のインデックスを除いて、以前に行っていたとして、失われたデータを削除することを計画します。
new_tc=n.delete(tc[j,:], bad)
残念ながら、これは機能しませんでした。私はまた、動作していない配列をマスキングすることも試みました。私はデータを削除する必要が
理由は、私の次のライブラリがNaN値を理解しないで、それはなど
、厳密に整数を必要と浮かぶ、誰もがいずれかを持っている場合、私は、データの行を削除するための新しい方法に開いていますガイダンス。私は大いに感謝します。