আমার ডেটাতে একটি নির্দিষ্ট তারিখে একাধিক ইভেন্ট বা কোনও তারিখে কোনও ইভেন্ট থাকতে পারে। আমি এই ইভেন্টগুলি গ্রহণ করি, তারিখ অনুসারে একটি গণনা পাই এবং সেগুলি প্লট করি। যাইহোক, আমি যখন তাদের পরিকল্পনা করি, আমার দুটি সিরিজ সবসময় মেলে না।
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
উপরের কোডে আইডিএক্স 30 তারিখের একটি ব্যাপ্তিতে পরিণত হয়। 09-01-2013 থেকে 09-30-2013 তবে এস এর কেবল 25 বা 26 দিন থাকতে পারে কারণ একটি নির্দিষ্ট তারিখের জন্য কোনও ইভেন্ট ঘটেনি। আমি যখন প্লট করার চেষ্টা করি তখন আকারগুলি মেলে না এমন হিসাবে আমি একটি AssertionError পাই:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
এটি মোকাবেলার সঠিক উপায় কী? আমি কি আইডিএক্স থেকে মান না দিয়ে তারিখগুলি মুছে ফেলতে চাইছি বা (যা পরিবর্তে করবো) সিরিজের সাথে একটি মিস করার তারিখটি 0 গণনা সহ যুক্ত করা হবে rather পরিবর্তে 0 মান সহ 30 দিনের পূর্ণ গ্রাফ আমার কাছে থাকত। যদি এই পদ্ধতির সঠিক হয় তবে কীভাবে শুরু করবেন সে সম্পর্কে কোনও পরামর্শ? আমার কি কোনও ধরণের ডায়নামিক reindex
ফাংশন দরকার?
এখানে এস ( df.groupby(['simpleDate']).size()
) এর একটি স্নিপেট রয়েছে , 04 এবং 05 এর জন্য কোনও প্রবেশের বিষয়টি লক্ষ্য করুন।
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
একটি আশ্চর্যজনক ফাংশন। এটি (1) নতুন লেবেলের সাথে সেট করার সাথে বিদ্যমান ডেটাটিকে পুনঃক্রম করতে পারে, (২) নতুন সারি সন্নিবেশ করানো হবে যেখানে কোনও লেবেল আগে নেই, (3) নিখোঁজ লেবেলের জন্য ডেটা পূরণ করুন (সামনের / পিছিয়ে থাকা সহ) (4) সারি নির্বাচন করুন লেবেল দ্বারা!