排除熊猫中值为零的行.python中的数据帧



我是python的新手,用python构建神经网络回归模型。

我正在尝试排除熊猫中值为零的行。数据帧,但不知道如何...

例如,如果我有如下所示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代码中实现..?

附言。我正在使用python 3.6

试试这个:

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

这将仅返回那些在任何列中没有零(0(值的行

如果要删除那些包含零值的行:

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

最新更新