pandas to_csv 函数将二维数组更改为单个字符串

问题描述 投票:0回答:1

我正在尝试预先计算句子嵌入,我想将其存储在 csv 文件中,以便以后可以重复使用。我创建了一个 Pandas 数据框,并将嵌入正确存储为二维浮点数组(et 或 ea 列)。

relevant_df.head()

然后运行 to_csv 函数将其存储在内存中。当我加载这个 csv 文件时,二维数组现在已更改为单个字符串。由于这个原因,我无法使用嵌入

relevant_df.to_csv('relevant_docs.csv', index=False)

df = pd.read_csv('relevant_docs.csv')
df.head()

任何帮助将不胜感激。谢谢!

python pandas nlp
1个回答
0
投票

CSV 文件是基于文本的,不支持存储多维数组。

在保存/读取 CSV 时,您可以使用一些序列化程序(例如 json)序列化和反序列化您的数组:

import pandas as pd
import json


# arrays to JSON
relevant_df['embeddings'] = relevant_df['embeddings'].apply(json.dumps)

relevant_df.to_csv('relevant_docs.csv', index=False)

def parse_array(arr_str):
    return json.loads(arr_str)

df = pd.read_csv('relevant_docs.csv', converters={'embeddings': parse_array})

© www.soinside.com 2019 - 2024. All rights reserved.