我是python中的新手,并在python中构建神经网络回归模型。
我尝试排除pandas.DataFrame中值为零的行,但不知道如何...
例如,如果我有csv
,如下所示
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
并希望排除零值的行(示例上方的第3行和第5行)。
我现在的代码包括以下代码的所有数据行,
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]
将我的整个数据的80%用作训练数据,其余数据是测试数据。我试图从训练和测试数据中排除零值的行。
我应该如何在python代码中实现..?
PS。我正在使用python 3.6
答案 0 :(得分:4)
试试这个:
df.loc[df.ne(0).all(axis=1)]
这将只返回任何列
中没有零(0
)值的行
如果要删除包含零值的行:
df = df.loc[df.ne(0).all(axis=1)]