我试图将这个列值转换成实际的数字,这样我就可以将这个数字用于机器学习算法。这个标签实际上是我想从我的机器学习算法中预测的,所以我想把它作为输入到我的模型中,在实际的价格预测之前对它们进行训练,但是这里给出了价格范围,这是我发现很难转换的,您能帮我把这个数字和文本的组合转换成实际的整数数据类型(目前以对象作为数据类型)。
关于这个数据集:这是所有二手车的数据集,如果你买了一辆新车,它以什么价格卖给客户,以及相同的车价是多少。因此,我想要创建一个模型,在这个模型中,用户提供关于这个范围的新车价格、汽车公司名称以及其他许多标签领域的数据,从这些领域我的模型给出了二手车的预期价格。
但是我被卡住了,我该如何处理这个领域的数据,因为这是范围,我不能放弃它,因为它是决定二手车价格的一个主要因素。
Rs是指印度卢比(类似于美元)
10 Lakh=1百万OR
1 Lakh = 100 000

发布于 2022-05-10 11:28:36
我没有一个最小的可重复的例子,我创建了一个与您相似的演示数据格式。
import pandas as pd
df = pd.DataFrame({'selling_price' : ['5.5 Lakh*', '5.7 Lakh*', '3.5 Lakh*', '3.15 Lakh*'],
'new-price':['Rs.7.11-7.48 Lakh*','Rs.10.14-13.79 Lakh*','Rs.5.16-6.94 Lakh*','Rs.6.54-6.63 Lakh*',]})
pd.DataFrame({'selling_price' :[int(float(str(x).strip(' Lakh*'))*100000) for x in df['selling_price'].to_list()]})
# here I am converting the selling_price column of dataframe to list then stripping ' Lakh*'
# and again converting it back to dataframe. Similarly you can do it for new-price column.
#output
selling_price
0 550000
1 570000
2 350000
3 315000我删除了“Rs.‘”以及new-price列中的“Lakh*”:
[x.strip('Rs.') for x in[x.strip(' Lakh*') for x in df['new-price'].to_list()]]
#output
['7.11-7.48', '10.14-13.79', '5.16-6.94', '6.54-6.63']https://stackoverflow.com/questions/72185226
复制相似问题