當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python Pandas DataFrame rfloordiv方法用法及代碼示例

Pandas DataFrame.rfloordiv(~) 方法在標量、序列、Series 或 DataFrame 與源 DataFrame 中的值之間執行整數除法,即:

other // DataFrame

請注意,這與 DataFrame.floordiv(~) 相反,它執行以下操作:

DataFrame // other
注意

除非您使用參數 axislevelfill_value ,否則 rfloordiv(~) 相當於使用 // 運算符執行除法。

參數

1.other | scalarsequenceSeriesDataFrame

結果DataFrame 將通過整數除法將other 除以源DataFrame。

2. axis | intstring | optional

是否為源DataFrame的每一列或每一行廣播other

說明

"index"0

每列廣播other

"columns"1

每行廣播 other

請注意,這僅在源 DataFrame 的形狀與 other 的形狀不匹配時才相關。默認情況下,axis=1

3. level | intstring | optional

要考慮的級別的名稱或整數索引。僅當您的 DataFrame 是多索引時,這才相關。

4. fill_value | floatNone | optional

在計算之前替換NaN的值。請注意,如果兩對條目均為 NaN ,則結果仍為 NaN 。默認情況下,fill_value=None

返回值

整數除法產生新的DataFrame。

例子

基本用法

考慮以下 DataFrame :

df = pd.DataFrame({"A":[1,2], "B":[3,4]})
df_other = pd.DataFrame({"A":[5,6], "B":[7,8]})



   A  B  |     A  B
0  1  3  |  0  5  7
1  2  4  |  1  6  8

執行整數除法:

df.rfloordiv(df_other)



   A  B
0  5  2
1  3  2

在這裏,我們執行以下逐元素整數除法:

5//1 7//3
6//2 8//4

請注意,這相當於:

df_other // df



   A  B
0  5  2
1  3  2

廣播

考慮以下 DataFrame :

df = pd.DataFrame({"A":[2,3], "B":[4,5]})
df



   A  B
0  2  4
1  3  5
逐行整數除法

默認情況下, axis=1 ,這意味著 other 將為 df 中的每一行廣播:

df.rfloordiv([7,8])   # axis=10



   A  B
0  3  2
1  2  1

在這裏,我們執行以下逐元素整數除法:

7//2 8//4
7//3 8//5
按列整數除法

要為 df 中的每一列廣播 other,請像這樣設置 axis=0

df.rfloordiv([7,8], axis=0)



   A  B
0  3  1
1  2  1

在這裏,我們執行以下逐元素除法:

7//2 7//4
8//3 8//5

指定fill_value

考慮以下數據幀:

df = pd.DataFrame({"A":[2,np.NaN], "B":[np.NaN,5]})
df_other = pd.DataFrame({"A":[7,8],"B":[np.NaN,np.NaN]})



   A    B    |     A  B
0  2.0  NaN  |  0  7  NaN
1  NaN  5.0  |  1  8  NaN

默認情況下,當我們使用 rfloordiv(~) 計算整數除法時,任何使用 NaN 的操作都會產生 NaN

df.rfloordiv(df_other)



   A    B
0  3.0  NaN
1  NaN  NaN

我們可以在使用fill_value參數進行整數除法之前填充NaN

df.rfloordiv(df_other, fill_value=2)



   A    B
0  3.0  NaN
1  2.0  0.0

請注意,如果整數除法在兩個 NaN 之間,則結果將始終是 NaN,無論 fill_value 如何。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | rfloordiv method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。