Pandas DataFrame.slice_shift(~)
方法將 DataFrame 的行移動指定的量,並刪除空行。
注意
slice_shift(~)
和 shift(~)
兩種方法都執行移位,但有兩個主要區別:
-
slice_shift(~)
才不是返回源DataFrame的新副本,即修改結果slice_shift(~)
最終將改變源 DataFrame。相比之下,DataFrame shift方法返回一個新副本。 -
slice_shift(~)
可能會修改 DataFrame 的形狀,而shift(~)
方法始終返回與原始形狀相同的 DataFrame。檢查下麵的示例以進行說明。
參數
1. periods
| int
移動量:
-
正整數:行向下移動
-
負整數:行向上移動。
返回值
行移位的DataFrame
。
例子
考慮以下 DataFrame :
df = pd.DataFrame({"A":["a","b","c","d"],"B":["e","f","g","h"],"C":["i","j","k","l"]}, index=[6,7,8,9])
df
A B C
6 a e i
7 b f j
8 c g k
9 d h l
基本用法
向下移動 2 行:
df.slice_shift(2)
A B C
8 a e i
9 b f j
請注意如何僅將值向下移動,而索引保持原樣。由於索引 6
和 7
不再具有有效值,因此這些行將被刪除。
將此與 shift(~)
方法進行對比:
df.shift(2)
A B C
6 NaN NaN NaN
7 NaN NaN NaN
8 a e i
9 b f j
這裏的要點是, shift(~)
隻需用 NaN
填充它們的值,而不是丟棄索引 6
和 7
。
向上移動
向上移動 2 行:
df.slice_shift(-2)
A B C
0 c g k
1 d h l
行為突變
考慮與上麵相同的DataFrame:
df = pd.DataFrame({"A":["a","b","c","d"],"B":["e","f","g","h"],"C":["i","j","k","l"]}, index=[6,7,8,9])
df
A B C
6 a e i
7 b f j
8 c g k
9 d h l
執行移位並將返回的DataFrame存儲在x
中:
x = df.slice_shift(2)
x
A B C
8 a e i
9 b f j
如果我們修改 x
,那麽原始的 df
也會發生變化:
x.iloc[0,0] = "Z"
df
A B C
6 Z e i
7 b f j
8 c g k
9 d h l
相關用法
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python PySpark DataFrame sampleBy方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python PySpark DataFrame select方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame sort_index方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sort方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame sub方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame sum方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | slice_shift method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。