数据具有以下属性
购买v-high、high、med、low 维护v-高、高、中、低 门2,3,4,5-以上 2,4人以上 小号,中号,大号 安全低,中高
这就是我所做的
enter code here
#Buying price generalization
df["Buying_Price"]=df["Buying_Price"].replace({"vhigh":4})
df["Buying_Price"]=df["Buying_Price"].replace({"high":3})
df["Buying_Price"]=df["Buying_Price"].replace({"med":2})
df["Buying_Price"]=df["Buying_Price"].replace({"low":1})
#Maintanace generalization
df["Maintanance_price"]=df["Maintanance_price"].replace({"vhigh":4})
df["Maintanance_price"]=df["Maintanance_price"].replace({"high":3})
df["Maintanance_price"]=df["Maintanance_price"].replace({"med":2})
df["Maintanance_price"]=df["Maintanance_price"].replace({"low":1})
#lug_boot generalization
df["Lug_boot"]=df["Lug_boot"].replace({"small":1})
df["Lug_boot"]=df["Lug_boot"].replace({"med":2})
df["Lug_boot"]=df["Lug_boot"].replace({"big":3})
#Safety Generalization
df["Safety"]=df["Safety"].replace({"low":1})
df["Safety"]=df["Safety"].replace({"med":2})
df["Safety"]=df["Safety"].replace({"big":3})
print(df.head())
打印时显示“无法比较类型'ndarray(dtype=int64)'和'str'”
你们中的一些人通过一个(
int
)值来替换,实际上是一个ndarray
的int64
值。 此列中只有int64( here actually ndarray(dtype=int64))
类型的数据。 见文件pandas.Dataframe.replace()。replace()
尝试查找并将它们与您传递的str
值进行比较。查找所有
"vhigh"
值并与当前包含的值进行比较,将其替换为4
。 在比较时,尝试将str
数据与int64 ('ndarray(dtype=int64)')
数据进行比较失败一个简单的例子来模拟这个:
输出:
相关问题 更多 >
编程相关推荐