我正在尝试预先计算句子嵌入,我想将其存储在 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()
任何帮助将不胜感激。谢谢!
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})