使用pandas.DataFrame将镶木地板文件写入CSV文件时如何防止表格格式?

梅尔日

使用pyarrow.parquet读取了作为spark mllib输出的镶木地板文件输出由一些行组成,每行有两对:一个词和一个向量(每行是一个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输出作为我从镶木地板文件中读取的内容我的源代码在这里:

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)

梅尔日

经过大量搜索,我没有找到直接解决我的问题的方法。但我在 python 中使用列表解决了我的问题。

data = pq.read_pandas('C://...//p.parquet', columns['word','vector']).to_pandas()
df = pd.DataFrame(data)

vector = df['vector'].tolist()
word = df['word'].tolist()

k = [[]]
for i in range(0, word.__len__()):
    l = []
    l.append(word[i])
    l.extend(vector[i])
    k.append(l)

with open('C://...//f.csv', "w", encoding="utf-8") as f:
    writer = csv.writer(f)
    for row in k:
        writer.writerow(row)

因此,输出以与预期相同的形状显示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Spark(pyspark)编写镶木地板文件?

使用pyarrow如何将其附加到镶木地板文件中?

使用反射将pojo写入镶木地板文件

使用pyspark读取镶木地板文件时如何指定架构?

读取文件夹中的多个镶木地板文件,然后使用python写入单个csv文件

使用镶木地板格式时是否保存了DataFrame模式?

如何在python中的S3中从pandas数据帧写入镶木地板文件

如何在C ++中的镶木地板文件中保存时间戳并将其加载到Python Pandas中?

使用从镶木地板文件创建的dask数据帧时内存使用过多

如何使用镶木地板文件源重命名AWS Athena列?

如何使用Spark将镶木地板文件加载到Hive表中?

使用空或嵌套空模式将数据帧写入镶木地板文件失败

使用镶木地板工具打开镶木地板文件时出错

如何使用.NET Core将镶木地板文件转换为CSV?

如何使用Pyarrow更改镶木地板文件中的列名?

如何使用csv文件或文本文件(不使用熊猫)将网络抓取的数据转换为表格格式

如何使用Databricks将.rdata文件转换为Azure数据湖中的镶木地板?

如何使用动态索引和类型将镶木地板文件写入弹性搜索

使用 fastparquet 在子文件上划分镶木地板文件

在 gcs 上使用镶木地板文件创建新的大查询外部表时。显示错误

如何从 spark2.3 访问 us-east-2 区域上的镶木地板文件(使用 hadoop aws 2.7)

Pandas:合并具有不同列 dtypes 的镶木地板文件 - 用预定义的架构编写镶木地板?

使用 pyspark 迭代加载多个镶木地板文件

如何使用 Pyspark 并行处理多个镶木地板文件?

复制镶木地板文件,然后使用 Athena 查询它们

使用通配符通过火花读取镶木地板文件

如何将 s3 中的文件夹中的所有镶木地板文件读取到 Pandas

使用pyarrow读取镶木地板文件时如何解码字典列?

如何使用 akka 流或 alpakka 从 S3 读取镶木地板文件