微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 LARGE np.arrays 导出熊猫数据框的 csv

我正在 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? (应该是每行数英里的数据......)

解决方法

问题是数据帧不应包含 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 文件不打算包含包含大型列表的字段,并且性能可能不符合您的预期。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。