版本 0.14.1(2014 年 7 月 11 日)#

这是 0.14.0 的次要版本,包括少量 API 更改、一些新功能、增强功能和性能改进以及大量错误修复。我们建议所有用户升级到此版本。

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,rollforwardrollback重置时间(小时,分钟等)或不(默认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用于同时使用chunksizenrows 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和添加nsmallestSeries groupby允许列表中,这意味着您现在可以在SeriesGroupBy对象 ( GH 7053 ) 上使用这些方法。

  • 所有偏移applyrollforward现在rollback可以处理np.datetime64,以前的结果是ApplyTypeErrorGH 7452

  • Period并且PeriodIndex可以包含NaT在其值中(GH 7485

  • 支持 pickleSeries和沿项目轴具有非唯一标签的对象DataFrame(分别为、和 )( GH 7370 )。Panelindexcolumnsitems

  • 使用混合空对象改进了日期时间/时间增量的推断。从 0.13.1 回归解释具有所有空元素的对象索引 ( GH 7431 )

表现

  • 数字运算的数据类型推断的改进涉及为数据类型带来性能提升:,,,int64(GH 7223timedelta64datetime64

  • 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该子模块现在使用httplib2Googleapiclientoauth2clientAPI 客户端库,它们应该比 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 7611GH 6423

  • xlim如果secondary_y=TrueGH 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并且tzGH 7299

  • 错误DatetimeIndex.asobject不会保留nameGH 7299

  • 具有日期时间范围(字符串和时间戳)的多索引切片中的错误,(GH 7429

  • 错误Index.minmax无法正确处理nanNaTGH 7261

  • PeriodIndex.min/max结果中的错误int( GH 7609 )

  • 如果您通过了,则错误会被resample忽略(GH 2073fill_methodhow

  • 错误TimeGrouper不排除key( GH 7227 )指定的列

  • 当指定 and关键字时, DataFrameand Seriesbar 和 barh 图中的错误会出现 ( GH 7226 )TypeErrorbottomleft

  • 当包含非数字列时会DataFrame.hist引发错误( GH 7277TypeError

  • 错误Index.delete不保留namefreq属性(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 7196NameErrornp.datetime64

  • 错误MultiIndex.appendconcat并且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 7406GH 7409NaT中未正确再现的错误。MultiIndex

  • 将 bool 对象转换为nanin convert_objects ( GH 7416 ) 的错误。

  • quantile忽略 axis 关键字参数的错误( GH 7306

  • 错误 wherenanops._maybe_null_out不适用于复数 ( GH 7353 )

  • 对于一维数组nanops时,多个函数中存在错误(GH 7354axis==0nan

  • 错误在何时nanops.nanmedian不起作用axis==NoneGH 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 7465rollbacktzinfoValueError

  • DatetimeIndex.to_period,中PeriodIndex.asobject的错误PeriodIndex.to_timestamp不保留name( GH 7485 )

  • 错误插入DatetimeIndex.to_periodPeriodIndex.to_timestamp处理NaTGH 7228

  • 错误offsets.applyrollforward可能rollback会恢复正常datetimeGH 7502

  • 当目标包含时resample引发错误(GH 7227ValueErrorNaT

  • Timestamp.tz_localize重置信息中的错误nanosecondGH 7534

  • 当它包含(GH 7539)时会DatetimeIndex.asobject引发错误ValueErrorNaT

  • 错误Timestamp.__new__无法正确保留纳秒(GH 7610

  • Index.astype(float)它返回objectdtype 的 位置存在错误IndexGH 7464)。

  • 错误DataFrame.reset_index丢失tzGH 3950

  • 错误在何时引发DatetimeIndex.freqstr(GH 7606AttributeErrorfreqNone

  • GroupBy.sizeTimeGrouper加注创建的错误AttributeErrorGH 7453

  • 单列条形图中的错误未对齐(GH 7498)。

  • 具有 tz 感知时间序列的面积图中的错误会引发ValueErrorGH 7471

  • 非单调的错误Index.union可能会错误地保存nameGH 7458

  • 错误DatetimeIndex.intersection不保留时区(GH 4690

  • rolling_var大于数组的窗口会引发错误的错误( GH 7297

  • 最后绘制的时间序列指示的错误xlimGH 2960

  • secondary_y时间序列未考虑轴的错误xlimGH 3490

  • Float64Index使用非标量索引器进行赋值时出现错误( GH 7586

  • 当和( GH 7505 )时,错误pandas.core.strings.str_contains无法以不区分大小写的方式正确匹配regex=Falsecase=False

  • expanding_covexpanding_corrrolling_cov和中的错误rolling_corr对于索引不匹配的两个参数(GH 7512

  • to_sql将布尔列作为文本列时出现错误( GH 7678

  • 分组中的错误hist无法正确处理rotkw 和kw ( GH 7234 )sharex

  • .loc使用 dtype 索引执行回退整数索引时出现错误object( GH 7496 )

  • PeriodIndex传递对象时构造函数中的错误(回归)SeriesGH 7701)。

贡献者#

共有 46 人为此版本贡献了补丁。名字带有“+”的人首次贡献了补丁。

  • 安德鲁·罗森菲尔德

  • 安迪·海登

  • 本杰明·亚当斯 +

  • 本杰明·格罗斯 +

  • 布莱恩·奎斯托夫 +

  • 布莱恩·维格纳尔 +

  • 帝斯曼

  • 丹尼尔·韦伯

  • 大卫·贝 +

  • 大卫·斯蒂芬斯

  • 雅各布·谢尔

  • 扬·舒尔茨

  • 约翰·大卫·里弗

  • 约翰·W·奥布莱恩

  • 乔里斯·范登博什

  • 朱利安·丹茹 +

  • K.-迈克尔·埃伊

  • 凯文·谢泼德

  • 凯尔·迈耶

  • 马特·维特曼

  • 马修·布雷特 +

  • 迈克尔·穆勒 +

  • 莫尔塔达·梅哈尔

  • 菲利普·克劳德

  • 罗布·利维 +

  • 谢尔,雅各布 C +

  • 史蒂芬·霍耶

  • 托马斯·克鲁弗

  • 托德·詹宁斯

  • 汤姆·奥格斯普格

  • 汤姆·奥格斯普格

  • 布维格纳尔

  • 克勒姆

  • dsm054+

  • 赫尔格+

  • 沉浸式

  • 杰梅弗里奥

  • 杰雷巴克

  • 性的

  • 个和零

  • 罗格

  • 血色乌龟 +

  • 塞思-p +

  • 辛赫克斯

  • 未知

  • 耶力特+