পাইথন পান্ডাসে DateTimeIndex-এ নির্দিষ্ট সময় (time of day) এর মানগুলোর ইনডেক্স লোকেশন পেতে DateTimeIndex.indexer_at_time() মেথড ব্যবহার করা হয়।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
import pandas as pd
DateTimeIndex তৈরি করুন
৫টি পিরিয়ড, ২০ মিনিট ইন্টারভ্যাল, টাইমজোন: Australia/Adelaide
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=5, tz='Australia/Adelaide', freq='20T')
DateTimeIndex প্রদর্শন করুন
print("DateTimeIndex...\n", datetimeindex)
নির্দিষ্ট সময়ের ইনডেক্স লোকেশন পান
সময়: '2021-10-30 03:10:50' (বা শুধু '03:10:50'):
print("\nIndex locations of values at particular time of day...\n", datetimeindex.indexer_at_time('2021-10-30 03:10:50'))
সম্পূর্ণ উদাহরণ
import pandas as pd
# DateTimeIndex তৈরি
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=5, tz='Australia/Adelaide', freq='20T')
# DateTimeIndex প্রদর্শন
print("DateTimeIndex...\n", datetimeindex)
# ফ্রিকোয়েন্সি দেখুন
print("\nDateTimeIndex frequency...\n", datetimeindex.freq)
# নির্দিষ্ট সময়ের ইনডেক্স লোকেশন
print("\nIndex locations of values at particular time of day...\n", datetimeindex.indexer_at_time('2021-10-30 03:10:50'))
আউটপুট
DateTimeIndex...
DatetimeIndex(['2021-10-30 02:30:50+10:30', '2021-10-30 02:50:50+10:30', '2021-10-30 03:10:50+10:30', '2021-10-30 03:30:50+10:30', '2021-10-30 03:50:50+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='20T')
DateTimeIndex frequency...
<20 * Minutes>
Index locations of values at particular time of day...
[2]
ব্যাখ্যা
- টাইমস্ট্যাম্পগুলো: 02:30:50, 02:50:50, 03:10:50, 03:30:50, 03:50:50
indexer_at_time('2021-10-30 03:10:50')বাindexer_at_time('03:10:50')->[2](ইনডেক্স ২-এ ম্যাচ)- রিটার্ন টাইপ:
numpy.ndarray(ইন্টিজার পজিশন) - যদি একাধিক দিনে একই সময় থাকে, সবগুলো পজিশন রিটার্ন করবে।
indexer_at_time vs get_loc
indexer_at_time(): শুধু time of day (ঘণ্টা:মিনিট:সেকেন্ড) দিয়ে সব দিনে সার্চ করে।get_loc(): সম্পূর্ণ timestamp (ডেট + টাইম) দিয়ে সার্চ করে।
ব্যবহার ক্ষেত্র
- ইনট্রাডে (intraday) টাইম সিরিজ অ্যানালাইসিস: নির্দিষ্ট সময়ের (যেমন মার্কেট ওপেন/ক্লোজ) ডেটা এক্সট্রাক্ট করা।
- দৈনিক প্যাটার্ন ডিটেকশন।
- টাইমজোন-অয়েয়ার ডেটায় লোকাল টাইম বেসড ফিল্টারিং।
নোট: indexer_at_time শুধু DatetimeIndex এবং TimedeltaIndex-এ উপলব্ধ।