用法:
DataFrame.squeeze(axis=None)
將一維軸對象擠壓成標量。
具有單個元素的係列或數據幀被壓縮為一個標量。具有單列或單行的 DataFrame 被壓縮為一個係列。否則對象不變。
當您不知道您的對象是 Series 還是 DataFrame,但您確實知道它隻有一列時,此方法最有用。在這種情況下,您可以安全地調用
squeeze
以確保您有一個係列。- axis:{0 或‘index’,1 或‘columns’,無},默認無
要擠壓的特定軸。默認情況下,所有長度為 1 的軸都被擠壓。
- DataFrame、係列或標量
擠壓
axis
或所有軸後的投影。
參數:
返回:
例子:
>>> primes = pd.Series([2, 3, 5, 7])
切片可能會產生一個具有單個值的係列:
>>> even_primes = primes[primes % 2 == 0] >>> even_primes 0 2 dtype:int64
>>> even_primes.squeeze() 2
在每個軸上擠壓具有多個值的對象沒有任何作用:
>>> odd_primes = primes[primes % 2 == 1] >>> odd_primes 1 3 2 5 3 7 dtype:int64
>>> odd_primes.squeeze() 1 3 2 5 3 7 dtype:int64
與 DataFrame 一起使用時,擠壓甚至更有效。
>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b']) >>> df a b 0 1 2 1 3 4
切片單個列將生成一個 DataFrame,其中的列隻有一個值:
>>> df_a = df[['a']] >>> df_a a 0 1 1 3
所以列可以被壓縮,產生一個係列:
>>> df_a.squeeze('columns') 0 1 1 3 Name:a, dtype:int64
從單列中切出單行將生成一個標量 DataFrame:
>>> df_0a = df.loc[df.index < 1, ['a']] >>> df_0a a 0 1
擠壓行產生一個單一的標量係列:
>>> df_0a.squeeze('rows') a 1 Name:0, dtype:int64
擠壓所有軸將直接投影成一個標量:
>>> df_0a.squeeze() 1
相關用法
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
- Python pandas.DataFrame.select_dtypes用法及代碼示例
- Python pandas.DataFrame.size用法及代碼示例
- Python pandas.DataFrame.subtract用法及代碼示例
- Python pandas.DataFrame.stack用法及代碼示例
- Python pandas.DataFrame.set_index用法及代碼示例
- Python pandas.DataFrame.sort_index用法及代碼示例
- Python pandas.DataFrame.shape用法及代碼示例
- Python pandas.DataFrame.swaplevel用法及代碼示例
- Python pandas.DataFrame.sub用法及代碼示例
- Python pandas.DataFrame.sort_values用法及代碼示例
- Python pandas.DataFrame.shift用法及代碼示例
- Python pandas.DataFrame.set_flags用法及代碼示例
- Python pandas.DataFrame.sparse.to_dense用法及代碼示例
- Python pandas.DataFrame.std用法及代碼示例
- Python pandas.DataFrame.sample用法及代碼示例
- Python pandas.DataFrame.set_axis用法及代碼示例
- Python pandas.DataFrame.sum用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.squeeze。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。