望采纳
可以使用 pandas 的 str.replace() 方法来替换掉 "年" 字符,然后再使用 str.split() 方法将字符串拆分为最小、最大两部分。接着,您可以计算最小值和最大值的平均值,并将它们转换为数值型。作为平均年限。例如:
# 假设有一个名为 "work_experience" 的列,包含了 "3-5年"、"5-10年"、"m-n年"、"不限" 这样的值
# 先替换掉 "年" 字符
df["work_experience"] = df["work_experience"].str.replace("年", "")
# 然后拆分最小值和最大值
df[["min", "max"]] = df["work_experience"].str.split("-", expand=True)
# 转成数字型
df["min"] = df["min"].astype(int)
df["max"] = df["max"].astype(int)
# 对于 "不限",您可以将 min 和 max 都设为 0
df.loc[df["work_experience"] == "不限", ["min", "max"]] = 0
# 计算平均值并转换为数值型
df["avg"] = df[["min", "max"]].mean(axis=1)