要了解不同的python数据结构及其转换,我遇到了如下所示的数据框:
这些列指的是每个类别中前5名的评分,即景点,酒店等。
在这里,当我访问数据帧第一行的Attraction_Rating值时,会得到一个字符串'[4.5,4.5,4.5,4.5,5.0]'。
我想了解如何在不使用正则表达式的情况下将该字符串转换回包含这些浮点值的列表。 s是字符串的float(s)显然不适用于此处,我想不出任何其他更简单的解决方案。
任何人都可以告诉我该怎么做,或者在这里将我指向正确的方向。
我的输出应为 [4.5,4.5,4.5,4.5,5.0],即浮动列表。
我将非常感谢对此的任何帮助
答案 0 :(得分:1)
这应该适用于这样的字符串。
data_string = '[4.5, 5.5, 6.5, 7.5]'
def convert(string):
return list(map(lambda v: float(v), string[1:-1].split(',')))
print(convert(data_string))