繁体   English   中英

Python:更改 pd.DataFrame 中的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM