替换熊猫中的列值

时间:2019-04-17 13:54:14

标签: python pandas type-conversion data-analysis

我在数据集中有一个“高度”列,如下所示。

      Height
0       6-2
1       6-6
2       6-5
3       6-5
4      6-10
5       6-9
6       6-8
7       7-0

,它的类型为dtype: object,现在我想将其转换为float,即我用 replace方法尝试过的6.2、6.6,但是它不起作用。你能建议我怎么做吗?我是熊猫新手。

2 个答案:

答案 0 :(得分:4)

使用Series.str.replace替换子字符串,并通过以下方式转换为浮点数:

df['Height'] = df['Height'].str.replace('-','.').astype(float)

或将Series.replaceregex=True一起使用以替换子字符串:

df['Height'] = df['Height'].replace('-','.', regex=True).astype(float)

答案 1 :(得分:1)

您可以使用lambda函数映射该列以对其进行更改。

df.loc[:,'Height'] = df.loc[:,'Height'].map(lambda x: float(str(x).replace('-','.')))

虽然我不知道您的用例,但是要小心一点。