使用 LARGE np.arrays 导出熊猫数据框的 csv

时间:2021-03-09 14:41:18

标签: python pandas deep-learning export-to-csv numpy-ndarray

我正在 google colab 环境中构建用于语音情感识别的深度学习模型。 从音频文件中提取数据和特征的过程需要大约 20 多分钟的运行时间。

因此,我制作了一个包含所有我想导出到 CSV 文件的数据的 Pandas DataFrame,这样我就不需要每次都等待那么长时间来提取数据。

因为音频文件平均每秒有 44,100 帧(采样率 (Hz)),所以我得到了大量的值,所以 df.sample 显示例如: df.sample for variable 'x'

每个“x”数组有大约 170K 个值,但仅在 df.sample 中显示了这种最小化表示。 不幸的是,df.to_csv 复制了精确的表示,而不是完整的数组。

有没有办法将完整的 DataFrame 导出为 CSV? (应该是每行数英里的数据......)

1 个答案:

答案 0 :(得分:0)

问题是数据帧不应包含 np.arrays。由于 numpy 是 Pandas 的底层框架,因此 np.arrays 是专用于 Pandas 的。无论如何,数据帧旨在成为数据处理工具,而不是通用容器,所以我认为您在这里使用了错误的工具。

如果你还想那样,把np.arrays改成list就够了:

df['x'] = df['x'].apply(list)

但是在加载时,您必须声明一个转换器来将列表的字符串表示形式更改为普通列表:

df = pd.read_csv('data.csv', converters={'x': ast.literal_eval, ...})

但同样,csv 文件不打算包含包含大型列表的字段,并且性能可能不符合您的预期。

相关问题