অনুমান করুন, আপনার একটি ডেটাফ্রেম আছে এবং ইতিবাচক এবং নেতিবাচক দিকে দুটি পিরিয়ড দ্বারা শিফট সূচক হল,
ইতিবাচক দিক থেকে সূচকটি তিনটি পিরিয়ড পরিবর্তন করুন Id বয়স2020-01-01 00:00:00 NaN NaN2020-01-01 12:00:00 NaN NaN2020-01-02 00:00:00 1.0 10.01-02 02 12:00:00 2.0 12.02020-01-03 00:00:00 3.0 14.0 সূচকটিকে তিনটি পিরিয়ডে নেতিবাচক দিক থেকে স্থানান্তর করুন Id বয়স2020-01-01 00:00:00 3.0 14.0201-01:02010201:00 4.0 11.02020-01-02 00:00:00 5.0 13.02020-01-02 12:00:00 NaN NaN2020-01-03 00:00:00 NaN NaN
সমাধান
এটি সমাধান করার জন্য, আমরা নীচে দেওয়া পদক্ষেপগুলি অনুসরণ করব -
-
স্টার্ট='01-01-2020', পিরিয়ড =5, ফ্রিকোয় ='12H'
সহ পান্ডাস টাইম সিরিজ তৈরি করুন -
একটি ডেটাফ্রেম সংজ্ঞায়িত করুন
-
প্রয়োগ করুন, df.shift() একটি ইতিবাচক দিক থেকে সূচককে দুটি পিরিয়ড স্থানান্তর করতে,
df.shift(2,axis=0)
-
প্রয়োগ করুন, df.shift() সূচক দুটি পিরিয়ড দ্বারা নেতিবাচক দিকে স্থানান্তর করতে,
df.shift(-2,axis=0)
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের কোডটি দেখি -
pdtime_series =pd.date_range('01-01-2020', periods =5, freq ='12H')df =pd.DataFrame({"Id":[1, 2, 3, 4, হিসাবে পান্ডা আমদানি করুন 5], "বয়স":[10, 12, 14, 11, 13]}, index =time_series)মুদ্রণ("ডেটাফ্রেম হল:\n",df)প্রিন্ট ("ইতিবাচক দিক থেকে তিনটি পিরিয়ড দ্বারা সূচকটি স্থানান্তর করুন") প্রিন্ট(df.shift(2,axis=0))print("সূচকটি নেতিবাচক দিকে তিনটি পিরিয়ড দ্বারা স্থানান্তর করুন")প্রিন্ট(df.shift(-2,axis=0))
আউটপুট
ডেটাফ্রেম হল:Id বয়স 2020-01-01 00:00:00 1 102020-01-01 12:00:00 2 122020-01-02 00:00:00 3 142020-01-02:0201 4 112020-01-03 00:00:00 5 13 ইতিবাচক দিক থেকে সূচকটিকে তিনটি পিরিয়ডে স্থানান্তর করুন Id বয়স2020-01-01 00:00:00 NaN NaN2020-01-01 12:00:00 NaN NaN2020-01 :00:00 1.0 10.02020-01-02 12:00:00 2.0 12.02020-01-03 00:00:00 3.0 14.0 সূচকটিকে তিনটি পিরিয়ড দ্বারা নেতিবাচক দিক থেকে স্থানান্তর করুন Id বয়স 2020-01-01.03:04001:03002 -01-01 12:00:00 4.0 11.02020-01-02 00:00:00 5.0 13.02020-01-02 12:00:00 NaN NaN2020-01-03 00:00:00 NaNNa