我有一个2D数组,我想写入csv文件。我使用以下代码来执行此操作。我的数组已经是 float32 dtype 数组。然后我使用.asarray()
函数将数组转换为numpy。现在我想将它写入csv文件并使用以下代码:
activaiton_array = np.asarray(activation_list)
np.savetxt("/home/workstation/activation_data_file_1.csv", activaiton_array,fmt='%f', delimiter=",",)
但我收到以下错误:
np.savetxt("/home/workstation/activation_data_file_1.csv", activaiton_array,fmt='%f', delimiter=",",)
File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 1073, in savetxt
fh.write(asbytes(format % tuple(row) + newline))
TypeError: float argument required, not numpy.ndarray
答案 0 :(得分:0)
如果activaiton_array
是2d浮点数组,则savetxt
遍历行(第一维)并执行
fh.write(asbytes(format % tuple(row) + newline))
这期望row
是1d浮点数组; format
源自您的fmt
规范。实际上它正在做
'%f, %f, %f'%(1.23, 23.23, 1.0)
错误表示row
不是1d或其元素不是数字。
我必须运行一些测试来查看TypeError: float argument required, not numpy.ndarray
是否产生row
是否为2d(即您的数组是否为3d),或row
是否为activaiton_array.dtype
包含数组的dtype数组。
您需要向我们展示activaiton_array.shape
和@Bean
public SolrClient solrClient()
{
CloudSolrClient client = new CloudSolrClient(env.getRequiredProperty("spring.data.solr.zk-host"));
client.setDefaultCollection("participant_"+env.getActiveProfiles()[0]);
return client;
}
。
答案 1 :(得分:-1)
尝试:
np.savetxt("/home/workstation/activation_data_file_1.csv",activaiton_array.flatten())