如何将pandas Series编写为CSV作为行,而不是作为列?

时间:2014-01-23 22:11:36

标签: python csv pandas

我需要将一个pandas.Series对象作为一行写入CSV文件,而不是列。只是做

the_series.to_csv( 'file.csv' )

给我一​​个这样的文件:

record_id,2013-02-07
column_a,7.0
column_b,5.0
column_c,6.0

我需要的是:

record_id,column_a,column_b,column_c
2013-02-07,7.0,5.0,6.0

这需要使用pandas 0.10,因此使用the_series.to_frame().transpose()不是一种选择。

是否有一种简单的方法来转置系列,或以其他方式将其写成一行?

谢谢!

2 个答案:

答案 0 :(得分:15)

您可以使用DataFrame构造函数(而不是to_frame):

In [11]: pd.DataFrame(s).T
Out[11]: 
record_id   column_a  column_b  column_c
2013-02-07         7         5         6

答案 1 :(得分:0)

如果您不想换行:

    df = pd.DataFrame({'record_id' : ['column_a','column_b','column_c'],
                       '2013-02-07' : [7.0, 5.0, 6.0]})
    str_1 = ', '.join(df.record_id.tolist())
    str_2 = ', '.join(str(x) for x  in df['2013-02-07'].tolist())

    print('record_id, ' + str_1)
    print('2013-02-07, ' + str_2)