机器学习列值的变化
Changes in the column values for machine learning
下面显示的是我从数据集
中提取的引擎列
engine
2150 cc
2240 cc
2150 cc
2230 cc
2050 cc
2280 cc
我希望我的专栏 engine 如下所示:
engine
2150
2240
2150
2230
2050
2280
您可以使用 lambda 来更改列的值
import pandas as pd
data = {'engine' : ["2150 cc", "2240 cc", "2150 cc", "2230 cc", "2050 cc", "2280 cc"]}
df = pd.DataFrame(data)
df['engine'] = df['engine'].map(lambda x: x.rstrip(' c'))
也可以替换非数字字符
df['engine'] = df['engine'].astype(str).str.replace('\D+', '', regex=True)
您可以 extract
使用正则表达式的前导数字:
df['engine'] = df['engine'].str.extract('(^\d+)')
输出:
engine
0 2150
1 2240
2 2150
3 2230
4 2050
5 2280
如果您需要整数:
df['engine'] = df['engine'].str.extract('(^\d+)').astype(int)
下面显示的是我从数据集
中提取的引擎列engine |
---|
2150 cc |
2240 cc |
2150 cc |
2230 cc |
2050 cc |
2280 cc |
我希望我的专栏 engine 如下所示:
engine |
---|
2150 |
2240 |
2150 |
2230 |
2050 |
2280 |
您可以使用 lambda 来更改列的值
import pandas as pd
data = {'engine' : ["2150 cc", "2240 cc", "2150 cc", "2230 cc", "2050 cc", "2280 cc"]}
df = pd.DataFrame(data)
df['engine'] = df['engine'].map(lambda x: x.rstrip(' c'))
也可以替换非数字字符
df['engine'] = df['engine'].astype(str).str.replace('\D+', '', regex=True)
您可以 extract
使用正则表达式的前导数字:
df['engine'] = df['engine'].str.extract('(^\d+)')
输出:
engine
0 2150
1 2240
2 2150
3 2230
4 2050
5 2280
如果您需要整数:
df['engine'] = df['engine'].str.extract('(^\d+)').astype(int)