这是我的数组堆栈,两个变量都按列排列。
final_a = np.stack((four, five, st, dist, ru), axis=-1)
final_b = np.stack((org, own, origin, init), axis=-1)
的例子:
In: final_a
Out: array([['9999', '10793', ' 1', '99', '2'],
['9999', '10799', ' 1', '99', '2'],
['9999', '10712', ' 1', '99', '2'],
...,
['9999', '23960', '33', '99', '1'],
['9999', '82920', '33', '99', '2'],
['9999', '82920', '33', '99', '2']],
dtype='<U5')
但是当我尝试使用以下代码将它们中的任何一个保存为。csv文件时:
np.savetxt("/Users/jaisaranc/Documents/ASI selected data - A.csv", final_a, delimiter=",")
抛出以下错误:
TypeError: Mismatch between array dtype ('<U5') and format specifier ('%.18e,%.18e,%.18e,%.18e,%.18e')
我不知道该怎么办
savetxt
在Numpy中允许您指定数组写入文件时如何显示的格式。默认格式(fmt='%.18e'
)只能格式化只包含数字元素的数组。您的数组包含字符串(dtype='<U5'
意味着类型是长度为5的unicode),因此会引发错误。在您的示例中,还应该包括fmt='%s'
作为参数,以确保输出文件中的数组元素被格式化为字符串。例如:
np.savetxt("example.csv", final_a, delimeter=",", fmt="%s")