我有几个特征的图像和后期图像预处理,我有大量的数据,我需要在未来的作品中经常使用。为了节省时间,我想以csv格式保存图像特征的数据。以下图像特征是行属性:强度,偏度,峰度,标准偏差Max5,Min5。如何将特征矩阵保存为csv文件
这里每个图像特征是一个大小为(34560,1)的数组。
如何制作由所有这些图像特征组成的csv文件。
我有几个特征的图像和后期图像预处理,我有大量的数据,我需要在未来的作品中经常使用。为了节省时间,我想以csv格式保存图像特征的数据。以下图像特征是行属性:强度,偏度,峰度,标准偏差Max5,Min5。如何将特征矩阵保存为csv文件
这里每个图像特征是一个大小为(34560,1)的数组。
如何制作由所有这些图像特征组成的csv文件。
例如,如果哟有你出来放到一个变量“结果”,那么你可以使用“Myresult”的地方下面的命令
import pandas as pd
result = "......................"(your expression)
result1 = pd.DataFrame({'col1':result[:,0],'col2':result[:,1]})
result1.to_csv('Myresult.csv', header = False)
保存结果以CSV格式,你可以提你的欲望的输出路径。在我的情况下,它会像“C:\ Users \ dinesh.n \ Desktop \ Myresult.csv”。 如果不是请原谅我,纠正我,我希望它清除您的疑问。 谢谢。
感谢您的回复。以上解决方案显示__'numpy.ndarray'对象没有属性'to_csv'__,因为我的结果是大小为[176256,81]的numpy.ndarray。另一个问题是我有一个标题也** **像头** **,熵等**。那么你想建议什么?谢谢 –
如果要将属性名称包含到numpy数组中,则可以使用structured array。但是这会让事情变得更加复杂。我宁愿使用相同的类型保存numpy数组,并将属性名称保存在别的地方。这是更直接,更容易使用。
实施例:为了简单起见,让我们说,你有长度为4的3个栏阵列:A,B,C
a -> array([[1],
[2],
[3],
[4]])
a.shape -> (4,1)
b和c阵列具有相同的阵列形状。
为了更快地访问数据,最好将其作为行数组,以便在加载时将其连续存储在磁盘和内存中。
a = a.ravel(); b = b.ravel(); c = c.ravel()
a - > array([1, 2, 3, 4])
a.shape -> (4,)
然后,您将它们堆叠到一个大型数组中并将其保存到csv文件中。
x = np.vstack((a,b,c))
array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
x.shape -> (3,4)
然后,将这个堆叠的数组保存到csv文件。
np.savetxt('out.csv', np.vstack(a.ravel(), b.ravel(), c.ravel()), delimiter='x')
谢谢宋。如何添加属性名称。因为我有大量的数据,如果我保存没有标题的数据,那么对于我来说,哪个列代表什么功能会让我感到困惑。 –
在这种情况下,你必须使用结构化数组。我在我之前的帖子中发布了链接。 – Hun
让你拥有34560为每六个连胜numpy的数组属性:
这可以在同一行中做了什么?你想保存到一个单一的CSV文件? – Hun
如果你有任意对象,最简单的方法就是将它们串起来,这是用于序列化的Python字。如果你的情况都是Numpy数组,你可以使用'np.save'或'np.savez'来放置它们,而不需要从.csv中读取它们并将它们重新转换为np.arrays。 'np.load'把他们带回来。 – roadrunner66
@Sung我有一个图像和一个标签总共80个特征,即总共81个属性,每个属性是一个大小为176526x1的numpy列数组。我想将它们保存在单个文件中以节省时间,这样我就不必每次都计算它们。 –