参见下面的代码,我有一个数组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
感谢您的帮助,谢谢!
发布于 2021-04-15 22:30:29
如果使用pandas.read_csv()
,则可以在读取时确保类型:
df = pd.read_csv('myfile.csv', dtype={'mycolumn': float})
或者,您也可以在阅读后执行此操作:
df['mycolumn'] = df['mycolumn'].astype(float)
在这两种情况下,整个列(存储为numpy数组)都会转换为所选的类型。不能只有几个元素作为float
,其他元素作为int
。
在处理多列的numpy数组时也是如此:
X = data.loc[:, 0:8].astype(float)
https://stackoverflow.com/questions/67109829
复制相似问题