要使用 pandas 进行数值转化,可以使用 .replace() 函数将字符型值替换为数值型值,使用 .apply() 函数将字符串型数据根据特定规则转换为数值型数据,以及使用 .str.extract() 函数提取字符串中的特定部分。

首先,我们需要导入 pandas 库:

import pandas as pd

然后,假设我们有一个名为 df 的数据框,其中包含了 employ_stat_vmon_salary_vsystem_version 列:

df = pd.DataFrame({'employ_stat_v': ['1', '2', '3', '4'],
                   'mon_salary_v': ['50,000-100,000', '3000-4000', '10,000-20,000', '5,000-8,000'],
                   'system_version': ['7.1.0', '6.2.3', '5.0.1', '8.0.2']})

接下来,我们可以使用 .replace() 函数将 employ_stat_v 列的字符型'2' 转为数值型。假设我们想将'2' 转换为数字 2:

df['employ_stat_v'] = df['employ_stat_v'].replace('2', 2)

然后,我们可以使用 .apply() 函数将 mon_salary_v 列的工资分类转为数值型。假设我们将'50,000-100,000' 转为数字 75000(取中间值),将'3000-4000' 转为数字 3500(取中间值):

df['mon_salary_v'] = df['mon_salary_v'].apply(lambda x: int((x.split('-')[0].replace(',', '') + x.split('-')[1].replace(',', ''))) / 2)

最后,我们可以使用 .str.extract() 函数提取 system_version 列中的第一个数字:

df['system_version'] = df['system_version'].str.extract(r'(\d+)', expand=False)

完成上述步骤后,df 数据框的 employ_stat_vmon_salary_vsystem_version 列将转换为数值型数据。

Pandas 数值转换:字符型转数值型、工资分类、提取数字

原文地址: http://www.cveoy.top/t/topic/qvbw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录