删除两次NA值后出现错误,首先使用pandas库,其次使用R

2024-10-01 07:41:18 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我使用以下Python代码删除了NA值:

import pandas as pd

a = pd.read_csv("true.csv",low_memory=False)
#print a
b = pd.read_csv("false.csv",low_memory=False)


merged = a.append(b, ignore_index=False)
merged=merged.dropna(axis=1)
merged.to_csv("out.csv", index=False)

之后,我用拨浪鼓,发现2列是分类的,我只想要数字数据。因此,我使用以下代码删除了这些列:

cat("\nSTART\n")
startTime = proc.time()[3]
startTime

#--------------------------------------------------------------
# Step 1: Include Library
#--------------------------------------------------------------
cat("\nStep 1: Library Inclusion")
library(randomForest)
library(FSelector)

#--------------------------------------------------------------
# Step 2: Variable Declaration
#--------------------------------------------------------------
cat("\nStep 2: Variable Declaration")
modelName <- "randomForest"
modelName

InputDataFileName="out.csv"
InputDataFileName

training = 70      # Defining Training Percentage; Testing = 100 - Training

#--------------------------------------------------------------
# Step 3: Data Loading
#--------------------------------------------------------------
cat("\nStep 3: Data Loading")
dataset <- read.csv(InputDataFileName)      # Read the datafile
dataset <- dataset[sample(nrow(dataset)),]  # Shuffle the data row wise.

#result <- cfs(Features ~ ., dataset)

head(dataset)   # Show Top 6 records
nrow(dataset)   # Show number of records
names(dataset)  # Show fields names or columns names

#--------------------------------------------------------------
# Step 4: Count total number of observations/rows.
#--------------------------------------------------------------
cat("\nStep 4: Counting dataset")
totalDataset <- nrow(dataset)
totalDataset

nums <- sapply(dataset, is.numeric)
dataset<-dataset[ ,nums]

#--------------------------------------------------------------
# Step 5: Choose Target variable
#--------------------------------------------------------------
cat("\nStep 5: Choose Target Variable")
target  <- names(dataset)[1]   # i.e. RMSD
target

#data(dataset)

result <- cfs(Activity ~ ., dataset)

在上面的代码中,我使用FSelector将最后一行用于特征选择。你知道吗

在执行最后一行后,出现以下错误:

Error in if (sd(vec1) == 0 || sd(vec2) == 0) return(0) :
missing value where TRUE/FALSE needed

你知道吗输出.csv https://drive.google.com/open?id=0B3UWvP6zFBQnN3JiamloOWl3T28


Tags: csv代码falsereadnamesstepshowmerged
1条回答
网友
1楼 · 发布于 2024-10-01 07:41:18

在最后一行之前

(result <- cfs(Activity ~ ., dataset)) 

使用

dataset$Activity = factor(dataset$Activity)

因为我们有一个非常大的数据集,所以需要一些时间来执行。你知道吗

相关问题 更多 >