此目标是将类型从“object”转换为kdd99数据集的“float”。在
以下是数据集的信息:
class 'pandas.core.frame.DataFrame'
RangeIndex: 494020 entries, 0 to 494019
Data columns (total 42 columns):
duration 494020 non-null int64
protocol_type 494020 non-null object
service 494020 non-null object
src_bytes 494020 non-null object
dst_bytes 494020 non-null int64
flag 494020 non-null int64
land 494020 non-null int64
wrong_fragment 494020 non-null int64
urgent 494020 non-null int64
hot 494020 non-null int64
num_failed_logins 494020 non-null int64
logged_in 494020 non-null int64
num_compromised 494020 non-null int64
root_shell 494020 non-null int64
su_attempted 494020 non-null int64
num_root 494020 non-null int64
num_file_creations 494020 non-null int64
num_shells 494020 non-null int64
num_access_files 494020 non-null int64
num_outbound_cmds 494020 non-null int64
is_hot_login 494020 non-null int64
is_guest_login 494020 non-null int64
count 494020 non-null int64
serror_rate 494020 non-null int64
rerror_rate 494020 non-null float64
same_srv_rate 494020 non-null float64
diff_srv_rate 494020 non-null float64
srv_count 494020 non-null float64
srv_serror_rate 494020 non-null float64
srv_rerror_rate 494020 non-null float64
srv_diff_host_rate 494020 non-null float64
dst_host_count 494020 non-null int64
dst_host_srv_count 494020 non-null int64
dst_host_same_srv_rate 494020 non-null float64
dst_host_diff_srv_rate 494020 non-null float64
dst_host_same_src_port_rate 494020 non-null float64
dst_host_srv_diff_host_rate 494020 non-null float64
dst_host_serror_rate 494020 non-null float64
dst_host_srv_serror_rate 494020 non-null float64
dst_host_rerror_rate 494020 non-null float64
dst_host_srv_rerror_rate 494020 non-null float64
class 494020 non-null object
dtypes: float64(15), int64(23), object(4)
memory usage: 158.3+ MB
有4种对象类型需要转换为float包含:
^{pr2}$但我有个错误:
^{3}$希望有人能帮我解决这个问题。 谢谢:)
首先,正如@thecruisy所指出的,您应该使用括号而不是(),这将导致:
但是,由于列在object(或
^{pr2}$str
)中,这将引发一个ValueError
。在你应该做的是对它们进行编码。您可以使用
pandas.DataFrame
:或者使用
sklearn.preprocessing.LabelEncoder
相关问题 更多 >
编程相关推荐