pandas.Series对象确实有很多to_*函数,但它缺少一个to_excel
函数。是否有更简单/更好的方法来完成此片段第3行中的导出?首先将Series转换为DataFrame感觉有点笨拙,只是为了进行简单的I/O操作:
import numpy as np
import pandas as pd
s = pd.Series([1,3,5,np.nan,6,8])
pd.DataFrame(s).to_excel('s.xlsx', 's')
你可以选择:
DataFrame
,这种情况下,你已经回答了自己的问题。
Series.to_frame()
s.to_frame(name='column_name').to_excel('xlfile.xlsx', sheet_name='s')
从 pandas 0.20 开始,Series 现在直接支持 to_excel
(详见PR #8825):
import pandas as pd
s = pd.Series([0, 1, 2, 4, 8, 16], name='a_series')
s.to_excel('foo.xlsx')
文件foo.xlsx的内容如下:
| A | B |
--+----+-----------+---------------------
1 | | a_series |
2 | 0 | 0 |
3 | 1 | 1 |
4 | 2 | 2 |
5 | 3 | 4 |
6 | 4 | 8 |
7 | 5 | 16 |
-. ,---------------------------
\ Sheet 1 / \ Sheet 2 / \ Sheet 3 /
s.to_frame().T.to_excel(...)
,使用DataFrame的转置操作。 - ojdo
to_frame
很好用,可以为我节省一行手动更改s.name
的代码,并且在我的环境中看起来不像一个丑陋的类型转换(对我来说pd.DataFrame
就像是这样)。 - ojdoDataFrame.squeeze()
的方法,它可以将单列的DataFrame
转换成Series
。 - Phillip Cloud