如何使用单行标题(5k列)将数据帧写入csv?

时间:2019-04-15 14:15:29

标签: python pandas numpy dataframe export-to-csv

我正在尝试使用to_csv导出熊猫数据框,以便在再次将其与python结合使用之前可以使用其他工具对其进行处理。它是具有5k列的令牌数据集。导出时,标题分为两行。对于熊猫来说这可能不是问题,但在这种情况下,我需要将其导出到单行csv中。这是熊猫限制还是csv格式限制?

当前,搜索未返回兼容结果。我提出的唯一解决方案是分别编写列名称和值,例如。首先写入 str 列列表,然后将numpy数组写入csv。可以实现吗?如果可以,如何实现?

1 个答案:

答案 0 :(得分:0)

对我来说,这个问题是由多个索引引起的。解决此问题的最简单方法是指定您自己的标头。我找到了一个名为 tupleize_cols 的选项的引用,但它在当前 (1.2.2) 熊猫中不存在。

我使用了以下聚合:

df.groupby(["device"]).agg({
    "outage_length":["count","sum"],
}).to_csv("example.csv")

这导致了以下 csv 输出:

,outage_length,outage_length
,count,sum
device,,
device0001,3,679.0
device0002,1,113.0
device0003,2,400.0
device0004,1,112.0

我在对 to_csv 的调用中指定了我自己的标头;排除我的 group_by,如下所示:

}).to_csv("example.csv",header=("flaps","downtime"))

并得到以下 csv 输出,这对电子表格软件来说更加令人愉悦:

device,flaps,downtime
device0001,3,679.0
device0002,1,113.0
device0003,2,400.0
device0004,1,112.0