Ответ 1
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=True
в read_csv
, как это предполагал Rutger Kassies.
Я не могу понять, как правильно писать/читать серию... Следующие (и многие ее варианты) приводят к тому, что серия чтения отличается от написанной серии... обратите внимание, что серия считывается в 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
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=True
в read_csv
, как это предполагал Rutger Kassies.
CSV не содержит никакой информации о структуре вашей серии pandas. Указание дополнительных аргументов может помочь. Получение данных в нормальном режиме возможно с помощью:
pd.read_csv('s.csv', index_col=0, header=None)
Но это добавляет к нему столбцы столбцов и индексов по умолчанию. Если вы просто хотите сохранить свою серию /DF для дальнейшего использования, лучше использовать методы .save() и pd.load().
Сохраняя объект pandas в файл, а затем заново создавая этот объект из файла, вы должны использовать:
s.to_pickle('filename')
а также
s = pd.read_pickle('filename')
методы.
Вот подробности: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_pickle.html