Python|熊猫 dataframe.slice_shift()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas dataframe.slice_shift()
函数相当于在不复制数据的情况下进行移位。移位的数据将不包括丢弃的周期,并且移位的轴将小于原始轴。此函数只是在给定轴上沿指定方向删除指定数量的周期。
Syntax: DataFrame.slice_shift(periods=1, axis=0)
Parameters :
periods : Number of periods to move, can be positive or negative
Return : shifted : same type as caller
示例 #1:使用slice_shift()
函数将时间序列数据中的索引轴移动 2 个周期
# importing pandas as pd
import pandas as pd
# Creating row index values for dataframe
# We have taken time frequency to be of 12 hours interval
# Generating five index value using "period = 5" parameter
ind = pd.date_range('01/01/2000', periods = 5, freq ='12H')
# Creating a dataframe with 4 columns
# using "ind" as the index for our dataframe
df = pd.DataFrame({"A":[1, 2, 3, 4, 5],
"B":[10, 20, 30, 40, 50],
"C":[11, 22, 33, 44, 55],
"D":[12, 24, 51, 36, 2]}, index = ind)
# Print the dataframe
df
让我们使用dataframe.slice_shift()
函数将索引轴正方向移动 2 个周期
# shift index axis by two
# periods in positive direction
# axis = 0 is set by default
df.slice_shift(2, axis = 0)
输出 :
注意索引标签,前两个标签被删除,但数据已在正方向上移动了两个周期。
我们还可以将索引轴向负方向移动一些周期
# shift index axis by two
# periods in negative direction
# axis = 0 is set by default
df.slice_shift(-2, axis = 0)
输出 :
请注意,在输出中,数据点已在负方向(即向上)移动了 2 个周期,并且最后两个索引标签已被删除。示例 #2:使用slice_shift()
函数将时间序列数据中的列轴移动 2 个周期
# importing pandas as pd
import pandas as pd
# Creating row index values for our data frame
# Taken time frequency to be of 12 hours interval
# Generating five index value using "period = 5" parameter
ind = pd.date_range('01/01/2000', periods = 5, freq ='12H')
# Creating a dataframe with 4 columns
# using "ind" as the index for our dataframe
df = pd.DataFrame({"A":[1, 2, 3, 4, 5],
"B":[10, 20, 30, 40, 50],
"C":[11, 22, 33, 44, 55],
"D":[12, 24, 51, 36, 2]}, index = ind)
# shift column axis by two periods in positive direction
df.slice_shift(2, axis = 1)
输出 :
在输出中,我们可以看到前两个列标签已被删除,并且沿列轴的数据点已在正方向上移动了 2 个周期。
我们还可以将列轴向负方向移动一些周期
# shift column axis by two periods in negative direction
df.slice_shift(-2, axis = 0)
输出 :
在输出中,我们可以看到最后两个列标签被删除,并且沿列轴的数据点已在负方向(即左)移动了 2 个周期。