我不知道如何正确地写/读一个系列...以下(以及它的许多变体)导致读的系列不同于写的系列...请注意,该系列被读入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
4条答案
按热度按时间0s0u357o1#
您也可以像Rutger Kassies建议的那样将
header=None, index_col=0, squeeze=True
传递到read_csv
。wyyhbhjk2#
CSV不包含任何关于pandas系列结构的信息。指定一些额外的参数可能会有所帮助。通过以下方法可以正常恢复数据:
但这会向其添加默认的列名和索引名。如果你只是想保存你的Series/DF供以后使用,最好使用.save()和pd.load()方法。
sr4lhrrt3#
将pandas对象保存到文件,然后从文件重新创建该对象,您将用途:
s.to_pickle('filename')
和
s = pd.read_pickle('filename')
方法中的操作。
以下是详细信息:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_pickle.html
dzjeubhm4#
将
.squeeze()
应用于pd.read_csv
返回的DataFrame:(Thepd.Series.read_csv接受的解决方案现在已经贬值。)