版本 0.9.0 (2012年10月7日)#
这是从0.8.1版本以来的一个重大发布,包括几个新功能和增强功能以及大量错误修复。新功能包括为 Series.str
矢量化unicode编码/解码,为DataFrame添加 to_latex
方法,更灵活的布尔值解析,以及启用从Yahoo! Finance下载期权数据。
新功能#
在 Series.str 中的 向量化字符串处理方法 中添加
encode
和decode
以处理 unicode (GH 1706)添加
DataFrame.to_latex
方法 (GH 1735)添加所有 rolling_* 操作的便捷扩展窗口等效项 (GH 1785)
为 pandas.io.data 添加 Options 类,以便从 Yahoo! Finance 获取期权数据 (GH 1748, GH 1739)
将
level
参数添加到Series.reset_index
TimeSeries.between_time
现在可以在午夜之间选择时间 (GH 1871)Series 构造函数现在可以处理生成器作为输入 (GH 1679)
DataFrame.dropna
现在可以接受多个轴(元组/列表)作为输入 (GH 924)在
ExcelFile.parse
中启用skip_footer
参数 (GH 1843)
API 变化#
当
header=None
且没有传递列名给read_csv
等函数时,默认列名已更改为更具 Pythonic 特性且便于属性访问:
In [1]: import io
In [2]: data = """
...: 0,0,1
...: 1,1,0
...: 0,1,0
...: """
...:
In [3]: df = pd.read_csv(io.StringIO(data), header=None)
In [4]: df
Out[4]:
0 1 2
0 0 0 1
1 1 1 0
2 0 1 0
从另一个 Series 创建一个 Series,传递一个索引,会导致内部发生重索引,而不是将 Series 视为 ndarray。技术上不正确的用法,如
Series(df[col1], index=df[col2])
,以前“意外”(这从未被打算)工作的方式,在某些情况下会导致所有 NA 的 Series。要非常清楚:
In [5]: s1 = pd.Series([1, 2, 3])
In [6]: s1
Out[6]:
0 1
1 2
2 3
dtype: int64
In [7]: s2 = pd.Series(s1, index=["foo", "bar", "baz"])
In [8]: s2
Out[8]:
foo NaN
bar NaN
baz NaN
dtype: float64
已弃用的
day_of_year
API 已从 PeriodIndex 中移除,请使用dayofyear
(GH 1723)在导入时不要将NumPy的suppress printoption修改为True
DataFrame 的内部 HDF5 数据排列已被转置。旧文件仍可由 HDFStore 读取(GH 1834, GH 1824)
已移除的旧遗留问题:pandas.stats.misc.quantileTS
使用 ISO8601 格式表示时间段:每月、每日等 (GH 1776)
空DataFrame列现在创建为对象数据类型。这将防止在代码中出现的一类TypeErrors,其中列的数据类型取决于数据是否存在(例如,SQL查询是否有结果)(GH 1783)
使用 ix 设置 DataFrame/Panel 的部分现在会与输入的 Series/DataFrame 对齐 (GH 1630)
GroupBy
中的first
和last
方法不再删除非数字列 (GH 1809)解决了在文本解析器中指定自定义NA值时的一致性问题。除非
keep_default_na
被明确设置为 false,否则类型为 dict 的na_values
不再覆盖默认的 NA 值 (GH 1657)DataFrame.dot
不会进行数据对齐,并且也可以与 Series 一起工作 (GH 1915)
请参阅 完整发布说明 或在 GitHub 上的问题跟踪器以获取完整列表。
贡献者#
总共有24人为此版本贡献了补丁。名字后面带有“+”的人首次贡献了补丁。
Chang She
Christopher Whelan +
Dan Miller +
Daniel Shapiro +
Dieter Vandenbussche
Doug Coleman +
John-Colvin +
Johnny +
Joshua Leahy +
Lars Buitinck +
Mark O’Leary +
Martin Blais
MinRK +
Paul Ivanov +
Skipper Seabold
Spencer Lyon +
Taavi Burns +
Wes McKinney
Wouter Overmeire
Yaroslav Halchenko
lenolib +
tshauck +
y-p +
Øystein S. Haaland +