Экспорт массива NumPy + строка в CSV - PullRequest
1 голос
/ 19 июня 2019

У меня есть два массива, каждый в форме (х, 1). Я хотел экспортировать данные в файл CSV, чтобы он выглядел примерно так

Channel- Freq (np Array 1) - FFT (np Array 2) - Класс (строковая метка)

Канал и столбец класса будут иметь 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 голосов
/ 19 июня 2019

Я думаю, что с пандами легче.

Допустим,

array1=[0,1,2,3,4]
array2=[10,11,12,13,14]

Сначала создайте фрейм данных с двумя массивами, а затем установите постоянные значения:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...