Pandas DataFrame.combine(~)
方法組合了兩個 DataFrame 的列。請注意,隻有共享相同列標簽的列才會被合並。
參數
1. other
| DataFrame
您想要與之組合的DataFrame。
2. func
| function
該函數接受兩個參數:第一個 DataFrame 中的一列和第二個 DataFrame 中要組合的列,兩者均為類型 Series
。此函數的返回值必須是代表結果列的Series
。
3. fill_value
| scalar
| optional
將填充缺失值實例的值 (NaN
)。填充發生在合並過程之前。默認情況下,fill_value=None
。
4. overwrite
| boolean
| optional
布爾值的含義如下:
值 |
說明 |
---|---|
|
如果一個 DataFrame 中的列在另一個 DataFrame 中不存在,則合並列的條目將填充為 |
|
如果源 DataFrame 中的列在其他 DataFrame 中不存在,則該列將出現在合並的 DataFrame 中,並且其條目保持不變。 然而,反之則不然。如果另一個 DataFrame 具有源 DataFrame 中不存在的列,那麽這些列也將出現在最終的 DataFrame 中,但其條目填充為 |
默認情況下,overwrite=True
。請參閱下麵的示例以進行說明。
返回值
DataFrame,其列根據參數組合。
例子
基本用法
考慮以下數據幀:
df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df_other = pd.DataFrame({"A":[1,8], "B":[2,9]})
A B | A B
0 3 5 | 0 1 2
1 4 6 | 1 8 9
合並兩個 DataFrames 的列以僅保留較高的值:
df.combine(df_other, np.maximum)
A B
0 3 5
1 8 9
自定義函數
我們還可以為 func
傳入自定義函數:
def foo(col, col_other): # a pair of Series
return col + col_other
df.combine(df_other, foo)
A B
0 4 7
1 12 15
請注意以下事項:
-
foo
隻是計算並返回兩個 DataFrame 中一對匹配列的總和。 -
foo
在這裏被調用兩次,因為有兩對匹配的列標簽。
指定覆蓋
考慮以下列標簽不匹配的DataFrames:
df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df_other = pd.DataFrame({"A":[1,8], "C":[2,9]})
A B | A C
0 3 5 | 0 1 2
1 4 6 | 1 8 9
默認情況下, overwrite=True
,這意味著其他 DataFrame 中不存在的列將用 NaN
填充,反之亦然:
df.combine(df_other, np.maximum)
A B C
0 3 NaN NaN
1 8 NaN NaN
這裏,列B
和C
是NaN
,因為df
沒有列C
,而df_other
沒有列B
。
我們可以通過設置 overwrite=False
來保持源 DataFrame 的列完整:
df.combine(df_other, np.maximum, overwrite=False)
A B C
0 3 5 NaN
1 8 6 NaN
在這裏,請注意 C
列(僅出現在 df_other
中的列)的條目仍然由 NaN
填充。
相關用法
- Python Pandas DataFrame combine_first方法用法及代碼示例
- Python Pandas DataFrame copy方法用法及代碼示例
- Python PySpark DataFrame collect方法用法及代碼示例
- Python PySpark DataFrame coalesce方法用法及代碼示例
- Python Pandas DataFrame corrwith方法用法及代碼示例
- Python PySpark DataFrame corr方法用法及代碼示例
- Python Pandas DataFrame convert_dtypes方法用法及代碼示例
- Python Pandas DataFrame columns屬性用法及代碼示例
- Python PySpark DataFrame cov方法用法及代碼示例
- Python Pandas DataFrame count方法用法及代碼示例
- Python PySpark DataFrame colRegex方法用法及代碼示例
- Python PySpark DataFrame columns屬性用法及代碼示例
- Python PySpark DataFrame count方法用法及代碼示例
- Python Pandas DataFrame corr方法用法及代碼示例
- Python Pandas DataFrame cov方法用法及代碼示例
- Python Pandas DataFrame clip方法用法及代碼示例
- Python Pandas DataFrame cummax方法用法及代碼示例
- Python Pandas DataFrame cumprod方法用法及代碼示例
- Python Pandas DataFrame cummin方法用法及代碼示例
- Python Pandas DataFrame cumsum方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
- Python Pandas DataFrame pop方法用法及代碼示例
- Python Pandas DataFrame nsmallest方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame items方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | combine method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。