मान लें, आपके पास एक डेटाफ़्रेम है और दो अवधियों द्वारा सकारात्मक और नकारात्मक दिशा में शिफ्ट इंडेक्स है,
shift the index by three periods in positive direction Id Age 2020-01-01 00:00:00 NaN NaN 2020-01-01 12:00:00 NaN NaN 2020-01-02 00:00:00 1.0 10.0 2020-01-02 12:00:00 2.0 12.0 2020-01-03 00:00:00 3.0 14.0 shift the index by three periods in negative direction Id Age 2020-01-01 00:00:00 3.0 14.0 2020-01-01 12:00:00 4.0 11.0 2020-01-02 00:00:00 5.0 13.0 2020-01-02 12:00:00 NaN NaN 2020-01-03 00:00:00 NaN NaN
समाधान
इसे हल करने के लिए, हम नीचे दिए गए चरणों का पालन करेंगे -
-
प्रारंभ के साथ पांडा समय श्रृंखला बनाएं ='01-01-2020', अवधि =5, आवृत्ति ='12 एच'
-
डेटाफ़्रेम परिभाषित करें
-
लागू करें, df.shift() सूचकांक को दो अवधियों से सकारात्मक दिशा में स्थानांतरित करने के लिए,
df.shift(2,axis=0)
-
लागू करें, df.shift() सूचकांक को नकारात्मक दिशा में दो अवधियों से स्थानांतरित करने के लिए,
df.shift(-2,axis=0)
उदाहरण
आइए एक बेहतर समझ पाने के लिए निम्नलिखित कोड देखें -
import pandas as pd time_series = pd.date_range('01-01-2020', periods = 5, freq ='12H') df = pd.DataFrame({"Id":[1, 2, 3, 4, 5], "Age":[10, 12, 14, 11, 13]}, index = time_series) print("Dataframe is:\n",df) print("shift the index by three periods in positive direction") print(df.shift(2,axis=0)) print("shift the index by three periods in negative direction") print(df.shift(-2,axis=0))
आउटपुट
Dataframe is: Id Age 2020-01-01 00:00:00 1 10 2020-01-01 12:00:00 2 12 2020-01-02 00:00:00 3 14 2020-01-02 12:00:00 4 11 2020-01-03 00:00:00 5 13 shift the index by three periods in positive direction Id Age 2020-01-01 00:00:00 NaN NaN 2020-01-01 12:00:00 NaN NaN 2020-01-02 00:00:00 1.0 10.0 2020-01-02 12:00:00 2.0 12.0 2020-01-03 00:00:00 3.0 14.0 shift the index by three periods in negative direction Id Age 2020-01-01 00:00:00 3.0 14.0 2020-01-01 12:00:00 4.0 11.0 2020-01-02 00:00:00 5.0 13.0 2020-01-02 12:00:00 NaN NaN 2020-01-03 00:00:00 NaN NaN