【问题标题】:How to write a pandas Series to CSV as a row, not as a column?如何将熊猫系列写入 CSV 作为行而不是列?
【发布时间】:2014-02-14 17:21:13
【问题描述】:

我需要将 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()

有没有一种简单的方法来转置系列,或者将它写成一行?

谢谢!

【问题讨论】:

    标签: python csv pandas


    【解决方案1】:

    您可以只使用 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
    

    【讨论】:

    • Series.to_csv 似乎应该有一个 orient 参数。
    • 这似乎已经过时了。我仍在寻找解决方案。
    【解决方案2】:

    如果你不想换行:

        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)
    

    【讨论】:

      猜你喜欢
      • 2017-04-22
      • 2019-04-20
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 2015-11-23
      • 2021-03-22
      • 2019-07-19
      相关资源
      最近更新 更多