[英]Python: Change values in pd.DataFrame
我有一个 pandas dataframe,其中一列包含我想更改为数字的分类数据
le=LabelEncoder()
for col in p3data.columns.values:
if p3data[col].dtypes=='object':
p3data[col]=le.fit_transform(p3data[col])
当我在 pandas dataframe 中的一列上使用此代码时,它会更改值
非常低 = 4
低 = 1
中等 = 2
高 = 0
非常高 = 3
但是,这不是按顺序排列的,我如何手动更改它们以使其按顺序排列,即
非常低 = 0
低 = 1
中等 = 2
高 = 3
非常高 = 4
您可以将您的首选映射定义为字典并将其传递给 pd.rename: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.ZFC336FDC70D2226A7A7D
之后,您仍然可以将列的类型转换为 int: p3data[col].astype(int)
尝试.replace
:
values = [
"Very Low",
"Low",
"Medium",
"High",
"Very High"
]
replace_map = {v: k for k, v in enumerate(values)}
for col in p3data.columns:
if p3data[col].dtypes == 'object':
p3data[col] = p3data[col].replace(replace_map)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.