Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象数组中的元素从int转换为float python numpy_Python_Dataframe_Numpy - Fatal编程技术网

将对象数组中的元素从int转换为float python numpy

将对象数组中的元素从int转换为float python numpy,python,dataframe,numpy,Python,Dataframe,Numpy,请参见下面的代码,我有一个数组y,它是一个numpy对象数组 我正在尝试将[15,7,9,10,7,8,20,16,9]转换为如下浮动:[15.0,7.0,9.0,10.0,7.0,8.0,20.0,16.0,9.0] 我怎样才能用numpy或panda做到这一点 df = pd.read_csv('./body.csv') data = df.values cols = range(0, 8) X = data[:, cols] N, M = X.shape classLab = dat

请参见下面的代码,我有一个数组
y
,它是一个
numpy
对象数组

我正在尝试将
[15,7,9,10,7,8,20,16,9]
转换为如下浮动:
[15.0,7.0,9.0,10.0,7.0,8.0,20.0,16.0,9.0]

我怎样才能用numpy或panda做到这一点

df = pd.read_csv('./body.csv')
data = df.values

cols = range(0, 8) 
X = data[:, cols]
N, M = X.shape

classLab = data[:,-1]
y = classLab

感谢您的帮助,谢谢

如果使用
pandas.read\u csv()
,则可以在读取时确保类型:

df=pd.read\u csv('myfile.csv',dtype={'mycolumn':float})
或者,您可以在阅读以下内容后执行此操作:

df['mycolumn']=df['mycolumn'].astype(float)
无论哪种情况,整个列(存储为numpy数组)都将转换为所选类型。不能只有少数元素为
float
,其他元素为
int

如果处理多个列的numpy数组,情况也是如此:

X=data.loc[:,0:8].astype(float)

df['col0']=df['col0'].astype(float)
不起作用,我得到了这个错误:索引器:只有整数、片(
)、省略号(
)、numpy.newaxis(
)和整数或布尔数组是有效的索引。首先,不能将numpy数组的一部分转换为其他类型(或者你会得到一个
对象的数组
,其中一些是
int
,一些是
float
)。要么全是,要么全是。Numpy数组最好是同质的。第二,请不要发布代码或数据的图像。第三,你在pandas数据帧中显示的提示,而不是Numpy数组(因为索引和列).第四,请提供一个。@PierreD首先我是python新手,因此一切都有点混乱。接下来我使用panda读取数据,然后使用numpy更改数据,因此我认为我必须使用numpy,但听起来似乎也可以使用panda。问题是:你想实现什么?最简单的是to在阅读时或阅读后,将整列转换为
float
。谢谢,它成功了!