如何在python中将同时具有字符串和int的数据帧的列转换为仅具有int的列

2024-09-28 23:35:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将下面数据集的权重列转换为1.37作为我的数据集的浮点值,该数据集当前的条目形式为“1.37 kg”,它不是浮点值? 我正在使用this dataset from Kaggle

我正在处理的数据示例:

# dftrain.head()
   laptop_ID Company      Product   TypeName  Inches                    ScreenResolution                         Cpu   Ram               Memory                           Gpu  OpSys  Weight  Price_euros
0          1   Apple  MacBook Pro  Ultrabook    13.3  IPS Panel Retina Display 2560x1600        Intel Core i5 2.3GHz   8GB            128GB SSD  Intel Iris Plus Graphics 640  macOS  1.37kg      1339.69
1          2   Apple  Macbook Air  Ultrabook    13.3                            1440x900        Intel Core i5 1.8GHz   8GB  128GB Flash Storage        Intel HD Graphics 6000  macOS  1.34kg       898.94
2          3      HP       250 G6   Notebook    15.6                   Full HD 1920x1080  Intel Core i5 7200U 2.5GHz   8GB            256GB SSD         Intel HD Graphics 620  No OS  1.86kg       575.00
3          4   Apple  MacBook Pro  Ultrabook    15.4  IPS Panel Retina Display 2880x1800        Intel Core i7 2.7GHz  16GB            512GB SSD            AMD Radeon Pro 455  macOS  1.83kg      2537.45
4          5   Apple  MacBook Pro  Ultrabook    13.3  IPS Panel Retina Display 2560x1600        Intel Core i5 3.1GHz   8GB            256GB SSD  Intel Iris Plus Graphics 650  macOS  1.37kg      1803.60

Tags: 数据coreapplemacospromacbookssdips
1条回答
网友
1楼 · 发布于 2024-09-28 23:35:53

使用replace()astype()方法:

df['weight']=df['weight'].replace('kg','',regex=True).astype(float)

另一种方法是使用字符串切片和astype()方法:

df['weight']=df['weight'].str[:-2].astype(float)

相关问题 更多 >