将numpy数组+字符串导出到CSV

时间:2019-06-19 14:28:39

标签: python pandas numpy

我有两个numpy数组,每个数组的形状为(x,1)。我想将数据导出到CSV文件,所以看起来像这样

Channel- Freq(np Array 1)-FFT(np Array 2)-类(字符串标签)

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

1 个答案:

答案 0 :(得分:0)

我认为使用熊猫更容易。

让我们说:

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()