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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。