2012-11-26 59 views
8

我不知道如何正確地寫/讀一個系列...以下(和它的許多變化)導致讀取系列不同於書面系列...請注意,該系列被讀入DataFrame而不是一系列。如何在csv上寫入/讀取熊貓系列?

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 

回答

16
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 

您也可以通過header=None, index_col=0, squeeze=Trueread_csv類似於魯特格爾Kassies建議。

2

CSV不包含任何關於您的熊貓系列結構的信息。指定一些額外的參數可能會有幫助。獲取數據回正常是可能的:

pd.read_csv('s.csv', index_col=0, header=None) 

但是,增加了默認的列和索引的名字給它。如果您只想保存您的Series/DF以備後用,最好使用.save()和pd.load()方法。