python读取csv文件并将字符转化为浮点型

使用python读取csv文件,直接打印是字符

data_test = pd.read_csv('C:/Users/29291/Desktop/新建文件夹/815-18-15-15.csv', header=None)
x_test =data_test.loc[262:1189, 0:0].values
print(x_test )

打印结果如下:

[['450.538']
 ['450.945']
 ['451.352']
 ['451.758']]

想要去掉单引号,转化为浮点型,使用

x_test= map(float, x_test)
x_test= list(x_test)

或者

x_test=[float(f) for f in x_test]

替换,结果单引号是去掉了,却变成了横着的列表,我需要原来竖着的列表,该怎么修改啊?

[450.538, 450.945, 451.352, 451.758]

我希望变成这样,请老师给出详细的代码修改,不要只给一个方向,谢谢

[[450.538]
 [450.945]
 [451.352]
 [451.758]]

我大概知道问题了,你原来再excel读过来的数据,最终转换成了一个numpy的数组。而我们现在的结果还是一个列表。

你可以尝试在现在的基础上添加以下内容:

import numpy as np

x_test = np.array(x_test)

如果还没成功可以继续交流。

你现在的结果,实际上将列表降低了一个维度。

对于现在的结果,x_test[0]=450.538,

对于你想要的结果,实际为列表套列表。x_test[0]=[450.538],x_test[0][0]=450.538

如果你想实现列的方式,即为列表套列表。

可以在目前的代码后面增加一下代码:

for i in range(len(x_test)):
    x_test[i] = [x_test[i]]

 

你可以尝试一下,如果有问题可继续讨论。

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m