版本 0.14.1(2014 年 7 月 11 日)# 这是 0.14.0 的次要版本,包括少量 API 更改、一些新功能、增强功能和性能改进以及大量错误修复。我们建议所有用户升级到此版本。 亮点包括: select_dtypes()根据数据类型选择列并sem()计算平均值的标准误差的新方法。 支持 dateutil 时区(请参阅文档)。 支持忽略read_csv() 文本解析器中的整行注释。 关于选项和设置的新文档部分。 许多错误修复。 增强功能 API变更 性能改进 实验性改变 Bug修复 API 更改# Openpyxl 现在在构建 openpyxl writer 时引发 ValueError,而不是在 pandas 导入时发出警告 ( GH 7284 )。 对于StringMethods.extract,当未找到匹配项时,结果 - 仅包含NaN值 - 现在也具有dtype=object代替 float( GH 7242 ) Period与不是a 的 另一个对象TypeError相比,对象不再引发 a 。相反,当将 a与另一个对象进行比较时,如果另一个对象不是 a 则返回。 (GH 7376)==PeriodPeriod==Period False 以前,在和操作中重置时间或不重置offsets.apply时间的行为 在偏移之间有所不同。在默认值为 False(保留时间)的所有偏移量(见下文)的关键字支持下,某些偏移量(BusinessMonthBegin、MonthEnd、BusinessMonthEnd、CustomBusinessMonthEnd、BusinessYearBegin、LastWeekOfMonth、FY5253Quarter、LastWeekOfMonth、Easter)的行为发生了变化:rollforwardrollbacknormalize In [6]: from pandas.tseries import offsets In [7]: d = pd.Timestamp('2014-01-01 09:00') # old behaviour < 0.14.1 In [8]: d + offsets.MonthEnd() Out[8]: pd.Timestamp('2014-01-31 00:00:00') 从 0.14.1 开始,所有偏移量默认保留时间。旧的行为可以通过以下方式获得normalize=True # new behaviour In [1]: d + offsets.MonthEnd() Out[1]: Timestamp('2014-01-31 09:00:00') In [2]: d + offsets.MonthEnd(normalize=True) Out[2]: Timestamp('2014-01-31 00:00:00') 请注意,对于其他偏移量,默认行为没有改变。 添加回文本解析中的默认 NA 值(从 0.12 回归)( GH 5521 )#N/A N/A 使用 a和非值TypeError在就地设置上引发 a,因为这与 set-item 表达式(例如(GH 7656)不一致).wherenp.nandf[mask] = None 增强功能# 添加dropna参数到value_countsand nunique( GH 5569 )。 添加select_dtypes()方法以允许根据 dtype ( GH 7316 ) 选择列。请参阅文档。 Alloffsets支持normalize关键字指定是否 offsets.apply,rollforward并rollback重置时间(小时,分钟等)或不(默认False,保留时间)(GH 7156): import pandas.tseries.offsets as offsets day = offsets.Day() day.apply(pd.Timestamp("2014-01-01 09:00")) day = offsets.Day(normalize=True) day.apply(pd.Timestamp("2014-01-01 09:00")) PeriodIndex表示为与DatetimeIndex( GH 7601 )相同的格式 StringMethods现在致力于空系列(GH 7242) 文件解析器read_csv现在read_table忽略由参数提供的行注释comment,该参数仅接受 C 阅读器的单个字符。特别是,它们允许在文件数据开始之前进行注释(GH 2685) 添加NotImplementedError用于同时使用chunksize和nrows read_csv() ( GH 6774 )。 现在存在对公共 S3 存储桶的基本读取的测试 ( GH 7281 )。 read_html现在显示一个encoding传递给底层解析器库的参数。您可以使用它来读取非 ascii 编码的网页 ( GH 7323 )。 read_excel现在支持以同样的方式从 URL 读取read_csv。 (GH 6809) 支持 dateutil 时区,现在可以像 pandas 中的 pytz 时区一样使用。 (GH 4688) In [3]: rng = pd.date_range( ...: "3/6/2012 00:00", periods=10, freq="D", tz="dateutil/Europe/London" ...: ) ...: In [4]: rng.tz Out[4]: tzfile('/usr/share/zoneinfo/Europe/London') 请参阅文档。 为、 、和( GH 6897 )实现了sem(平均值的标准误差)运算SeriesDataFramePanelGroupby 将nlargest和添加nsmallest到Series groupby允许列表中,这意味着您现在可以在SeriesGroupBy对象 ( GH 7053 ) 上使用这些方法。 所有偏移apply,rollforward现在rollback可以处理np.datetime64,以前的结果是ApplyTypeError(GH 7452) Period并且PeriodIndex可以包含NaT在其值中(GH 7485) 支持 pickleSeries和沿项目轴具有非唯一标签的对象DataFrame(分别为、和 )( GH 7370 )。Panelindexcolumnsitems 使用混合空对象改进了日期时间/时间增量的推断。从 0.13.1 回归解释具有所有空元素的对象索引 ( GH 7431 ) 表现# 数字运算的数据类型推断的改进涉及为数据类型带来性能提升:,,,int64(GH 7223)timedelta64datetime64 Series.transform 的改进可显着提高性能(GH 6496) 使用 ufunc 和内置石斑鱼函数改进 DataFrame.transform,以显着提高性能(GH 7383) 通过 datetime64 dtypes 的聚合进行 group 回归 ( GH 7555 ) MultiIndex.from_product大型迭代的改进( GH 7627) 实验# pandas.io.data.Options有一个新方法,get_all_data方法,现在一致返回 MultiIndexed DataFrame( GH 5602 ) io.gbq.read_gbq并进行了重构,以消除对 Google命令行客户端io.gbq.to_gbq的依赖。bq.py该子模块现在使用httplib2Googleapiclient和oauth2clientAPI 客户端库,它们应该比 bq.py.请参阅文档。 (GH 6937)。 Bug修复# DataFrame.where对称形状框架和传递的其他 DataFrame ( GH 7506 )中的错误 使用 MultiIndex 轴进行面板索引时出现错误 ( GH 7516 ) 具有重复索引和非精确端点的日期时间切片索引回归(GH 7523) 具有列表列表和单一类型与混合类型的 setitem 中的错误 ( GH 7551 :) 未对齐系列的时间操作中的错误(GH 7500) 分配不完整系列时 timedelta 推断中的错误 ( GH 7592 ) .nth具有系列和类似整数的列名称的groupby 中的错误( GH 7559) Series.get使用布尔访问器进行错误( GH 7407) 不符合缺失条件的错误 ( value_counts) ( GH 7423 )NaTNaN to_timedelta接受无效单位并误解“m/h”的错误( GH 7611,GH 6423) xlim如果secondary_y=True(GH 7459)线图中的错误未设置正确 hist分组和绘图中的错误scatter使用旧的figsize默认值(GH 7394) 使用 , 绘制子图时出现的错误DataFrame.plot,即使子图数量为 1,也会hist清除通过( GH 7391)。ax 如果子图数量超过 1 ( GH 7391 ),则DataFrame.boxplot使用bykw绘制子图时会出现错误。ValueError ticklabels子图显示和labels不同规则中的错误( GH 5897) Panel.apply以 MultiIndex 作为轴的错误( GH 7469) 错误DatetimeIndex.insert不会保留name并且tz(GH 7299) 错误DatetimeIndex.asobject不会保留name(GH 7299) 具有日期时间范围(字符串和时间戳)的多索引切片中的错误,(GH 7429) 错误Index.min且max无法正确处理nan(NaTGH 7261) PeriodIndex.min/max结果中的错误int( GH 7609 ) 如果您通过了,则错误会被resample忽略(GH 2073)fill_methodhow 错误TimeGrouper不排除key( GH 7227 )指定的列 当指定 and关键字时, DataFrameand Seriesbar 和 barh 图中的错误会出现 ( GH 7226 )TypeErrorbottomleft 当包含非数字列时会DataFrame.hist引发错误( GH 7277)TypeError 错误Index.delete不保留name和freq属性(GH 7302) DataFrame.query()/中的错误eval,其中带有@符号的本地字符串变量被视为尝试删除的临时变量(GH 7300)。 Float64Index不允许重复的错误( GH 7149)。 DataFrame.replace()替换真值的错误( GH 7140)。 错误在于StringMethods.extract()单个匹配组系列将使用匹配器的名称而不是组名称(GH 7313)。 isnull()当where isnull在遇到/ ( GH 7315 ) 时不会进行测试时出现错误。mode.use_inf_as_null == TrueTrueinf-inf inferred_freq 中的错误导致东半球时区 None ( GH 7310 ) Easter当偏移量为负时,错误返回不正确的日期(GH 7195) .div使用整数 dtypes 和除以零进行广播时出现错误( GH 7325 ) 传递对象时会CustomBusinessDay.apply引发错误( GH 7196)NameErrornp.datetime64 错误MultiIndex.append,concat并且pivot_table不保留时区(GH 6606) .loc在单多索引级别(非嵌套)上的索引器列表中出现错误( GH 7349) Series.map使用不同长度的元组键映射字典时出现错误( GH 7333) 所有错误StringMethods现在都适用于空系列(GH 7242) 当查询不包含“select”时修复read_sql“to ”的委托( GH 7324)。read_sql_query Bug,其中字符串列名称分配给 aDataFrame并 在调用期间Float64Index引发了 a ( GH 7366 )。TypeErrornp.isnan 错误NDFrame.replace()没有正确地用 Period值替换对象(GH 7379)。 getitem中的错误.ix应该始终返回一个系列(GH 7150) 索引器不完整的多索引切片中的错误(GH 7399) 多索引切片中的错误与切片级别中的步骤(GH 7400) DatetimeIndex负索引器未正确切片的错误( GH 7408) 在(GH 7406、 GH 7409)NaT中未正确再现的错误。MultiIndex 将 bool 对象转换为nanin convert_objects ( GH 7416 ) 的错误。 quantile忽略 axis 关键字参数的错误( GH 7306) 错误 wherenanops._maybe_null_out不适用于复数 ( GH 7353 ) 对于一维数组nanops时,多个函数中存在错误(GH 7354)axis==0nan 错误在何时nanops.nanmedian不起作用axis==None (GH 7352) 错误不适nanops._has_infs用于许多数据类型(GH 7357) StataReader.data读取 0 观测值 dta 失败的错误( GH 7369 ) StataReader读取包含固定宽度字符串的 Stata 13 (117) 文件时出现错误( GH 7360 ) StataWriter忽略编码的错误( GH 7286) 比较中的错误DatetimeIndex无法NaT正确处理(GH 7529) 将输入传递给tzinfo某些偏移量apply或重置或引发时rollforward出现错误(GH 7465)rollbacktzinfoValueError DatetimeIndex.to_period,中PeriodIndex.asobject的错误PeriodIndex.to_timestamp不保留name( GH 7485 ) 错误插入DatetimeIndex.to_period和PeriodIndex.to_timestamp处理NaT(GH 7228) 错误offsets.apply,rollforward可能rollback会恢复正常datetime(GH 7502) 当目标包含时resample引发错误(GH 7227)ValueErrorNaT Timestamp.tz_localize重置信息中的错误nanosecond(GH 7534) 当它包含(GH 7539)时会DatetimeIndex.asobject引发错误ValueErrorNaT 错误Timestamp.__new__无法正确保留纳秒(GH 7610) Index.astype(float)它返回objectdtype 的 位置存在错误Index(GH 7464)。 错误DataFrame.reset_index丢失tz(GH 3950) 错误在何时引发DatetimeIndex.freqstr(GH 7606)AttributeErrorfreqNone GroupBy.size由TimeGrouper加注创建的错误AttributeError(GH 7453) 单列条形图中的错误未对齐(GH 7498)。 具有 tz 感知时间序列的面积图中的错误会引发ValueError(GH 7471) 非单调的错误Index.union可能会错误地保存name(GH 7458) 错误DatetimeIndex.intersection不保留时区(GH 4690) rolling_var大于数组的窗口会引发错误的错误( GH 7297) 最后绘制的时间序列指示的错误xlim(GH 2960) secondary_y时间序列未考虑轴的错误xlim(GH 3490) Float64Index使用非标量索引器进行赋值时出现错误( GH 7586) 当和( GH 7505 )时,错误pandas.core.strings.str_contains无法以不区分大小写的方式正确匹配regex=Falsecase=False expanding_cov、expanding_corr、rolling_cov和中的错误rolling_corr对于索引不匹配的两个参数(GH 7512) to_sql将布尔列作为文本列时出现错误( GH 7678) 分组中的错误hist无法正确处理rotkw 和kw ( GH 7234 )sharex .loc使用 dtype 索引执行回退整数索引时出现错误object( GH 7496 ) PeriodIndex传递对象时构造函数中的错误(回归)Series(GH 7701)。 贡献者# 共有 46 人为此版本贡献了补丁。名字带有“+”的人首次贡献了补丁。 安德鲁·罗森菲尔德 安迪·海登 本杰明·亚当斯 + 本杰明·格罗斯 + 布莱恩·奎斯托夫 + 布莱恩·维格纳尔 + 帝斯曼 丹尼尔·韦伯 大卫·贝 + 大卫·斯蒂芬斯 雅各布·谢尔 扬·舒尔茨 约翰·大卫·里弗 约翰·W·奥布莱恩 乔里斯·范登博什 朱利安·丹茹 + K.-迈克尔·埃伊 凯文·谢泼德 凯尔·迈耶 马特·维特曼 马修·布雷特 + 迈克尔·穆勒 + 莫尔塔达·梅哈尔 菲利普·克劳德 罗布·利维 + 谢尔,雅各布 C + 史蒂芬·霍耶 托马斯·克鲁弗 托德·詹宁斯 汤姆·奥格斯普格 汤姆·奥格斯普格 布维格纳尔 克勒姆 dsm054+ 赫尔格+ 沉浸式 杰梅弗里奥 杰雷巴克 性的 个和零 罗格 血色乌龟 + 塞思-p + 辛赫克斯 未知 耶力特+