无法将字符串转换为大熊猫中的浮点数

时间:2019-07-18 15:07:51

标签: python pandas

我正在尝试从pandas df的两列中删除百分号和字母。我是通过将百分比(是浮点数)转换为字符串并使用带有isdigit()方法的列表理解来创建仅包含数字的字符串来实现的。然后,我尝试将该字符串转换回int或float形式,但均因ValueErrors失败而无法转换。

我已经尝试过使用astype()方法,一个lambda表达式并通过使用pandas apply()方法来应用标准的python float()和int()方法。它们都带有相同的ValueError。

这是我的代码:

    def process_weather_vals(self):
        self.weatherdf['New York, NY Humidity'] = self.weatherdf['New York, NY Humidity'].astype(str)
        self.weatherdf['New York, NY Temp'] = self.weatherdf['New York, NY Temp'].astype(str)
        self.weatherdf['New York, NY Humidity'] = self.weatherdf['New York, NY Humidity'].map(lambda x: ''.join([i for i in x if i.isdigit()]))
        self.weatherdf['New York, NY Temp'] = self.weatherdf['New York, NY Temp'].map(lambda x: ''.join([i for i in x if i.isdigit()]))
        self.weatherdf['New York, NY Humidity'] = self.weatherdf['New York, NY Humidity'].apply(lambda x: float(x))
        self.weatherdf['New York, NY Temp'] = self.weatherdf['New York, NY Temp'].apply(lambda x: float(x))

1 个答案:

答案 0 :(得分:0)

我修复了它。这不是代码问题,我的调试器指向导致问题的pandas库文件路径错误。

相关问题