python - 将 numpy 数组 + 字符串导出为 CSV
问题描述
我有两个 numpy 数组,每个形状为 (x,1)。我想将数据导出到 CSV 文件,所以它看起来像这样
Channel- Freq(np Array 1) - FFT(np Array 2) - Class (一个字符串标签)
Channel 和 class 列将有 1 个固定值,freq 和 FFT 来自数组。
我尝试过使用 np.column_stack ,但它只允许结合 freq 和 fft,没有别的。我曾尝试查看 pandas DataFrame(从 CSV 导入后的原始数据)我目前找不到任何有用的东西。
def combine_data(freq, matrix):
combine_dt = np.column_stack((freq, matrix))
return combine_dt
def export_data_csv(freq, matrix):
combined_data = np.column_stack((freq, matrix))
np.savetxt("freq_amp.csv", combined_data, delimiter=",")
这仅适用于制作只有两列的 CSV
解决方案
我认为使用熊猫更容易。
比方说:
array1=[0,1,2,3,4]
array2=[10,11,12,13,14]
首先使用 2 个数组创建一个数据框,然后设置常量值:
my_df = pd.DataFrame(data={"freq":array1,"FFT":array2})
my_df["channel"]="channel_name"
my_df["class"]="class_name"
#Output
freq FFT channel class
0 0 10 channel_name class_name
1 1 11 channel_name class_name
2 2 12 channel_name class_name
3 3 13 channel_name class_name
4 4 14 channel_name class_name
然后您可以轻松地将其导出到 csv:
my_df.to_csv("filename.csv")
如果您不想要/不需要刚刚设置的索引:
my_df.to_csv("filename.csv",index=False)
对于其他选项,只需查看文档pandas.to_csv()
推荐阅读
- c# - .net 核心视图模型提供路由参数
- javascript - 以编程方式在 JSTree 中创建文件夹结构
- android - 如何解决 Quickblox 中的“基本所需会话不存在”错误?
- python - 修复opencv python + ImageMagick中detectAndCompute的windows和linux结果不一致的问题
- javascript - 如何使用 javascript 操作 json 对象并添加密钥?
- c++ - 允许通过迭代和从子集中随机选择进行更改的数据结构 (C++)
- spring - 使用 Spring 和 Reactor 的 API 组合 (BFF)
- javascript - 动态创建对象数组
- neo4j - 如何在 neo4j 中手动安装 apoc?
- java - Jacoco 和 Intellij 的不同代码覆盖率