1.2.1 (2021年1月20日) 中的新增內容#

以下是 pandas 1.2.1 中的更改。請參閱 發行說明 以獲取包含其他 pandas 版本的完整發行說明。

修復的迴歸#

我們已恢復了一個提交,該提交導致了 pandas 1.2.0 中多個與繪圖相關的迴歸問題(GH 38969GH 38736GH 38865GH 38947GH 39126)。因此,在 pandas 1.2.0 中修復的關於條形圖中刻度標籤不一致的錯誤再次出現(GH 26186GH 11465)。

在非對齊 DataFrames 上呼叫 NumPy ufuncs#

在 pandas 1.2.0 之前,在非對齊 DataFrames(或 DataFrame / Series 組合)上呼叫 NumPy ufunc 會忽略索引,僅根據形狀匹配輸入,並使用第一個 DataFrame 的索引/列作為結果。

In [1]: df1 = pd.DataFrame({"a": [1, 2], "b": [3, 4]}, index=[0, 1])
In [2]: df2 = pd.DataFrame({"a": [1, 2], "b": [3, 4]}, index=[1, 2])
In [3]: df1
Out[3]:
   a  b
0  1  3
1  2  4
In [4]: df2
Out[4]:
   a  b
1  1  3
2  2  4

In [5]: np.add(df1, df2)
Out[5]:
   a  b
0  2  6
1  4  8

這與其他 pandas 操作的操作方式不同,後者首先對齊輸入。

In [6]: df1 + df2
Out[6]:
     a    b
0  NaN  NaN
1  3.0  7.0
2  NaN  NaN

在 pandas 1.2.0 中,我們重構了在 DataFrames 上呼叫 NumPy ufuncs 的方式,並開始首先對齊輸入(GH 39184),這與其他 pandas 操作的方式相同,也與對 Series 物件呼叫 ufuncs 的方式相同。

對於 pandas 1.2.1,我們恢復了以前的行為以避免破壞性更改,但上述 np.add(df1, df2) 帶有非對齊輸入的示例現在會發出警告,而未來的 pandas 2.0 版本將首先開始對齊輸入(GH 39184)。對 Series 物件呼叫 NumPy ufunc(例如 np.add(s1, s2))已經並且將繼續對齊。

要避免警告並保持當前忽略索引的行為,請將其中一個引數轉換為 NumPy 陣列。

In [7]: np.add(df1, np.asarray(df2))
Out[7]:
   a  b
0  2  6
1  4  8

要獲得未來的行為並消除警告,可以在將引數傳遞給 ufunc 之前手動對齊它們。

In [8]: df1, df2 = df1.align(df2)
In [9]: np.add(df1, df2)
Out[9]:
     a    b
0  NaN  NaN
1  3.0  7.0
2  NaN  NaN

Bug 修復#

  • 在帶有 float_precision="high"read_csv() 中的錯誤導致長指數字符串的段錯誤或錯誤解析。由於 pandas 1.2.0 中更改了 float_precision 的預設值,這在某些情況下導致了迴歸(GH 38753)。

  • read_csv() 初始化期間發生 csv.ErrorUnicodeDecodeError 時,未關閉已開啟檔案控制代碼的錯誤(GH 39024)。

  • pandas.testing.assert_index_equal() 中,當 Index 具有混合 dtype 且 check_order=False 時,引發 TypeError 的錯誤(GH 39168)。

其他#

貢獻者#

共有 20 位貢獻者為此版本貢獻了補丁。名字旁有“+”號的人是首次貢獻補丁。

  • Ada Draginda +

  • Andrew Wieteska

  • Bryan Cutler

  • Fangchen Li

  • Joris Van den Bossche

  • Matthew Roeschke

  • Matthew Zeitlin +

  • MeeseeksMachine

  • Micael Jarniac

  • Omar Afifi +

  • Pandas Development Team

  • Richard Shadrach

  • Simon Hawkins

  • Terji Petersen

  • Torsten Wörtwein

  • WANG Aiyong

  • jbrockmendel

  • kylekeppler

  • mzeitlin11

  • patrick