如何在csv中编写/读取pandas系列?

Ian*_*ore 12 python pandas

我无法弄清楚如何正确地编写/读取系列...以下(以及它的许多变体)导致读取系列与书面系列不同...请注意,该系列被读入DataFrame而不是比一系列.

In [55]: s = pd.Series({'a': 1, 'b': 2})

In [56]: s
Out[56]: 
a    1
b    2

In [57]: s.to_csv('/tmp/s.csv')

In [58]: !cat /tmp/s.csv
a,1
b,2

In [59]: pd.read_csv('/tmp/s.csv')
Out[59]: 
   a  1
0  b  2
Run Code Online (Sandbox Code Playgroud)

Wes*_*ney 21

In [3]: s.to_csv('/home/wesm/tmp/sfoo.csv')

In [4]: Series.from_csv('/home/wesm/tmp/sfoo.csv')
Out[4]: 
a    1
b    2
Run Code Online (Sandbox Code Playgroud)

您也可以传递header=None, index_col=0, squeeze=Trueread_csvRutger Kassies建议的类似内容.


Rut*_*ies 5

CSV不包含有关您的熊猫系列结构的任何信息。指定一些额外的参数可能会有所帮助。通过以下方式可以正常恢复数据:

pd.read_csv('s.csv', index_col=0, header=None)
Run Code Online (Sandbox Code Playgroud)

但这会为其添加默认的列和索引名称。如果您只想保存Series / DF供以后使用,最好使用.save()和pd.load()方法。