我有一个字典列表,每个字典中的每一项都是一个字符串。我试图构建一个公式来传递整个数据集,并将所有值转换为一个float。你知道吗
每个词典都有以下结构:
{'dropoff_datetime': '2014-11-26T22:31:00.000',
'dropoff_latitude': '40.746769999999998',
'dropoff_longitude': '-73.997450000000001',
'fare_amount': '52',
'imp_surcharge': '0',
'mta_tax': '0.5',
'passenger_count': '1',
'payment_type': 'CSH',
'pickup_datetime': '2014-11-26T21:59:00.000',
'pickup_latitude': '40.64499',
'pickup_longitude': '-73.781149999999997',
'rate_code': '2',
'tip_amount': '0',
'tolls_amount': '5.3300000000000001',
'total_amount': '57.829999999999998',
'trip_distance': '18.379999999999999',
'vendor_id': 'VTS'}
我正在尝试将值转换为浮点数
def float_values(trips):
for trip in trips:
for value in trip:
trip[value] = float(trip[value])
我收到错误消息字符串索引必须是整数
您可以使用
items()
或iteritems()
迭代字典,具体取决于您的python版本。字典中的某些值是字符串,因此无法转换。简单的解决方案如下:如果您愿意,您也可以将其更改为使用理解,但请注意
isdigit()
函数添加所需代码并插入一些基本调试。查看这个可爱的debug博客寻求帮助。你知道吗
输出:
你提取了dict密钥。然后,您决定遍历键本身的各个字符,而不是使用它来索引dict。最后,您尝试使用单个字母作为键的索引,键是一个简单的字符串。你知道吗
这就是Python解释器看到的;它向您抛出了一条错误消息。相反,删除最里面的循环。
trips
是dict,您可以使用提取的键对其进行索引:相关问题 更多 >
编程相关推荐