یک اسکریپت پایتون بنویسید که یک فایل CSV با ستون "time" (فرمت ISO 8601) را بخواند، فواصل زمانی بین ردیفها را به ثانیه محاسبه کند و میانگین و واریانس فواصل را چاپ کند.
6.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:06 0.0
برای حل این مسئله از پایتون بههمراه کتابخانههای pandas و numpy استفاده کنید: فایل را با pd.read_csv(parse_dates=['time'], infer_datetime_format=True) بخوانید، در صورت نیاز با df.sort_values('time') مرتب کنید، سپس diffs = df['time'].diff().dt.total_seconds().dropna() را محاسبه کنید و با diffs.mean() و diffs.var() میانگین و واریانس را استخراج کنید. نکات مفید: برای دادههای بزرگ از chunksize استفاده کنید، زمانهای فاقد مقدار یا با timezone متفاوت را قبل از محاسبه مدیریت کنید (pd.to_datetime(..., utc=True)) و از infer_datetime_format یا format مشخص برای سرعت بیشتر تبدیل استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای دادههای بزرگ از chunksize در خواندن CSV استفاده کنید تا حافظه مدیریت شود و نتیجه را در قالب یک عملیات تجمعی دریافت کنید. مطمئن شوید ستون time همگن به UTC است (مثلاً با pd.to_datetime(..., utc=True)) و سپس دادهها را مرتب کنید تا تفاضلها درست محاسبه شوند. فاصلهها را با diffs = df['time'].diff().dt.total_seconds().dropna() محاسبه کنید و از diffs.mean() و diffs.var() برای میانگین و واریانس استفاده کنید؛ اگر واریانس جمعی مدنظر است، var(ddof=0) به کار ببرید. برای سرعت بیشتر از parse_dates و infer_datetime_format در pd.read_csv استفاده کنید و در صورت وجود زمانهای بدون مقدار یا با تایمزون متفاوت، قبل از محاسبه آنها را رفع کنید.
گزارش