用法:
DataFrame.combine(other, func, fill_value=None, overwrite=True)
與另一個 DataFrame 執行按列組合。
使用
func
將 DataFrame 與other
DataFrame 組合以按元素組合列。結果 DataFrame 的行和列索引將是兩者的並集。- other: DataFrame
要按列合並的 DataFrame。
- func:函數
將兩個係列作為輸入並返回係列或標量的函數。用於逐列合並兩個 DataFrame 。
- fill_value:標量值,默認無
在將任何列傳遞給合並函數之前填充 NaN 的值。
- overwrite:布爾值,默認為真
如果為 True,
self
中不存在於other
中的列將被 NaN 覆蓋。
- DataFrame
提供的 DataFrame 的組合。
參數:
返回:
例子:
使用選擇較小列的簡單函數進行組合。
>>> df1 = pd.DataFrame({'A':[0, 0], 'B':[4, 4]}) >>> df2 = pd.DataFrame({'A':[1, 1], 'B':[3, 3]}) >>> take_smaller = lambda s1, s2:s1 if s1.sum() < s2.sum() else s2 >>> df1.combine(df2, take_smaller) A B 0 0 3 1 0 3
使用真正的逐元素組合函數的示例。
>>> df1 = pd.DataFrame({'A':[5, 0], 'B':[2, 4]}) >>> df2 = pd.DataFrame({'A':[1, 1], 'B':[3, 3]}) >>> df1.combine(df2, np.minimum) A B 0 1 2 1 0 3
在將列傳遞給合並函數之前,使用
fill_value
填充無。>>> df1 = pd.DataFrame({'A':[0, 0], 'B':[None, 4]}) >>> df2 = pd.DataFrame({'A':[1, 1], 'B':[3, 3]}) >>> df1.combine(df2, take_smaller, fill_value=-5) A B 0 0 -5.0 1 0 4.0
但是,如果兩個數據幀中的相同元素為 None,則保留 None
>>> df1 = pd.DataFrame({'A':[0, 0], 'B':[None, 4]}) >>> df2 = pd.DataFrame({'A':[1, 1], 'B':[None, 3]}) >>> df1.combine(df2, take_smaller, fill_value=-5) A B 0 0 -5.0 1 0 3.0
演示
overwrite
的使用和數據幀之間軸不同時的行為的示例。>>> df1 = pd.DataFrame({'A':[0, 0], 'B':[4, 4]}) >>> df2 = pd.DataFrame({'B':[3, 3], 'C':[-10, 1], }, index=[1, 2]) >>> df1.combine(df2, take_smaller) A B C 0 NaN NaN NaN 1 NaN 3.0 -10.0 2 NaN 3.0 1.0
>>> df1.combine(df2, take_smaller, overwrite=False) A B C 0 0.0 NaN NaN 1 0.0 3.0 -10.0 2 NaN 3.0 1.0
展示傳入 DataFrame 的偏好。
>>> df2 = pd.DataFrame({'B':[3, 3], 'C':[1, 1], }, index=[1, 2]) >>> df2.combine(df1, take_smaller) A B C 0 0.0 NaN NaN 1 0.0 3.0 NaN 2 NaN 3.0 NaN
>>> df2.combine(df1, take_smaller, overwrite=False) A B C 0 0.0 NaN NaN 1 0.0 3.0 1.0 2 NaN 3.0 1.0
相關用法
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.DataFrame.compare用法及代碼示例
- Python pandas.DataFrame.convert_dtypes用法及代碼示例
- Python pandas.DataFrame.corr用法及代碼示例
- Python pandas.DataFrame.count用法及代碼示例
- Python pandas.DataFrame.copy用法及代碼示例
- Python pandas.DataFrame.cov用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
- Python pandas.DataFrame.cummin用法及代碼示例
- Python pandas.DataFrame.cumprod用法及代碼示例
- Python pandas.DataFrame.clip用法及代碼示例
- Python pandas.DataFrame.cummax用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.rename用法及代碼示例
- Python pandas.DataFrame.to_numpy用法及代碼示例
- Python pandas.DataFrame.dtypes用法及代碼示例
- Python pandas.DataFrame.truncate用法及代碼示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.combine。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。