2017-07-14 15 views
0

私はPythonの初心者で、Pythonのニューラルネットワーク回帰モデルを構築しています。Pythonのpandas.DataFrameからゼロの値を持つ行を除外します。

私はpandas.DataFrameでゼロ値を持つ行を除外しようとしているが、私は

input1 input2 input3 input4 input5  y 
370  17.40013 8.9  4  740  883.0246 
370  17.35865 8.9  4  740  884.0846 
370  17.30227 0   4  740  884.9326 
370  17.32991 8.9  4  740  884.4379 
370  17.55929 0   4  740  883.1424 
370  17.6505  8.9  4  740  883.1188 
以下のような csvを持っている場合、例えば、どのように...

を知りません

とし、0の値を持つ行(例の上の3番目と5番目の行)を除外します。

私のコード今のトレーニングデータとしての私の全データの80%を使用し、それらの残りの部分は、テストデータである

s1 = pd.Series(RMR_list) 
s2 = pd.Series(PHT_list) 
s3 = pd.Series(KLNF_list) 
s4 = pd.Series(KLNM_list) 
s5 = pd.Series(IDF_list) 
s6 = pd.Series(CCN_list) 

df = DataFrame({'RMR': RMR_list, 'PHT': PHT_list, 'KLN_F': s3.reindex(s1.index), 'KLN_M': s4.reindex(s1.index), 'IDF_M': s5.reindex(s1.index), 'CCN': s6.reindex(s1.index)}) 
df = df.values 

#Setting training data and test data 
train_size_x = int(len(df)*0.8)      #The user can change the range of training data 
print(train_size_x) 
X_train = df[0:train_size_x, 1:6] 
t_train = df[0:train_size_x, 0] 
X_test = df[train_size_x:int(len(df)), 1:6] 
t_test = df[train_size_x:int(len(df)), 0] 

、コード以下のようにデータのすべての行を含めているため。そして私はそれらのトレーニングとテストデータからゼロの値を持つ行を除外しようとしています。

どのように私はPythonコードで実装する必要があります..?

ps。私は、Python 3.6

+0

-any- columnsの値はゼロですか? –

+0

@HoManはい、どの列でも0です:) – paulc1111

答えて

2

を使用しています、これを試してみてください:

df.loc[df.ne(0).all(axis=1)] 

これはあなたがそれらの行を削除したい場合は、任意の列

でゼロ(0)値を持たない行のみを返します。

df = df.loc[df.ne(0).all(axis=1)] 
+0

ありがとうございます!私は試してみましょう、あなたに知らせる! :) ほんとうにありがとう! :) – paulc1111

+0

@ paulc1111、あなたは歓迎です:) – MaxU

関連する問題