Я прочитал файл паркет , который является выходом spark mllib , используя pyarrow.parquet . Выход состоит из нескольких строк, и каждая строка имеет две пары: слово и вектор (каждая строка представляет собой пару word2vec ). как следующее:
word1 "[-0.10812066 0.04352815 0.00529436 -0.0492562 -0.0974493533 0.275364409 -0.06501597 -0.3123745185 0.28186324 -0.05055101 0.06338456 -0.0842542 -0.10491376 -0.09692618 0.02451115 0.10766134]"
word2 "[-0.10812066 0.04352815 0.1875908 -0.0492562 ...
...
когда я использовал DataFrame для записи результатов в файл csv , я получил это:
word1 "[-0.10812066 0.04352815 0.00529436 -0.0492562
-0.0974493533 0.275364409 -0.06501597 -0.3123745185
0.28186324 -0.05055101 0.06338456 -0.0842542
-0.10491376 -0.09692618 0.02451115 0.10766134]"
word2 "[-0.10812066 0.04352815 0.1875908 -0.0492562 ...
...
Как видите, каждый вектор в специальной позиции разделен на несколько строк.
Как я могу получить вывод csv как то, что я читаю из файла parquet ?
мой исходный код здесь:
import pandas as pd
import pyarrow.parquet as pq
data = pq.read_pandas('C://Users//...//p.parquet', columns=['word', 'vector']).to_pandas()
df = pd.DataFrame(data)
pd.DataFrame.to_csv(df, 'C://Users/...//p.csv', sep=" ", encoding='utf-8', columns=['word', 'vector'], index=False, header=False)
Размер DataFrame: 47524 , а форма DataFrame: (23762, 2)