برای ترکیب مجموعه داده ها یا آرایه های داده در یک بعد واحد ، به Concatenate مراجعه کنید.
برای ترکیب مجموعه داده ها با متغیرهای مختلف ، به ادغام مراجعه کنید.
برای ترکیب مجموعه داده ها یا آرایه های داده با شاخص های مختلف یا مقادیر گمشده ، به ترکیب مراجعه کنید.
برای ترکیب مجموعه داده ها یا آرایه های داده در ابعاد متعدد ، به Combining. Multi مراجعه کنید.
#
برای ترکیب Concat. Concat یک تکرار کننده از اشیاء DataArray یا DataSet ، و همچنین یک نام ابعاد ، و در آن بعد هماهنگ می شود:
علاوه بر ترکیب در یک بعد موجود ، Concat می تواند با انباشت آرایه های بعدی پایین تر با هم ، ابعاد جدیدی ایجاد کند:
اگر استدلال دوم برای حل و فصل یک نام ابعاد جدید باشد ، آرایه ها در آن بعد جدید جمع می شوند ، که همیشه به عنوان بعد اول درج می شود:
آرگومان دوم برای هماهنگی همچنین می تواند یک شاخص یا شیء DataArray و همچنین یک رشته باشد ، در این صورت از آن برای برچسب زدن مقادیر در بعد جدید استفاده می شود:
البته Concat همچنین روی اشیاء مجموعه داده کار می کند:
Concat () گزینه های مختلفی دارد که کنترل عمیق تری بر روی کدام متغیرها جمع می شود و نحوه برخورد متغیرهای متناقض بین مجموعه داده ها را ارائه می دهد. با پارامترهای پیش فرض ، Xarray برخی از متغیرهای مختصات را در حافظه بارگذاری می کند تا آنها را بین مجموعه داده ها مقایسه کند. اگر با استفاده از محاسبات موازی با DASK دستکاری کنید ، این ممکن است بسیار گران باشد.
ادغام#
برای ترکیب متغیرها و مختصات بین اشیاء DataArray و/یا مجموعه داده های مختلف ، از ادغام () استفاده کنید. این می تواند لیستی از مجموعه داده ها ، DataArray یا فرهنگ لغت اشیاء قابل تبدیل به اشیاء DataArray را ادغام کند:
اگر مجموعه داده دیگری (یا فرهنگ لغت از جمله اشیاء آرایه داده) را ادغام کنید ، به طور پیش فرض مجموعه داده های حاصل در اتحادیه همه مختصات شاخص تراز می شود:
این تضمین می کند که ادغام غیر مخرب است. Xarray. MergeError اگر سعی در ادغام دو متغیر با همین نام اما مقادیر مختلف دارید ، مطرح می شود:
همان ادغام غیر مخرب بین مختصات شاخص DataArray در سازنده مجموعه داده ها استفاده می شود:
ترکیب#
روش نمونه combine_first () دو مجموعه داده/آرایه داده و پیش فرض مقادیر غیر تهی را در شیء فراخوانی ، با استفاده از مقادیر شیء نامیده شده برای پر کردن سوراخ ها ترکیب می کند. مختصات حاصل اتحاد برچسب های مختصات است. سلولهای خالی در نتیجه اتصال بیرونی پر از NAN هستند. مثلا:
برای مجموعه داده ها ، ds0. combine_first (ds1) به طور مشابه با xr. merge ([ds0 ، ds1]) کار می کند ، به جز این که xr. merge مقادیر متناقض را در متغیرها برای ادغام وجود دارد ، ادغام را افزایش می دهد ، در حالی که. combine_first به مقادیر شیء فراخوانی می رسدبشر
به روز رسانی#
برخلاف ادغام ، به روزرسانی () یک مجموعه داده را بدون بررسی درگیری ها اصلاح می کند و هر متغیر موجود را با مقادیر جدید بازنویسی می کند:
با این حال ، ابعاد هنوز هم لازم است بین متغیرهای مختلف مجموعه داده سازگار باشد ، بنابراین شما نمی توانید اندازه یک بعد را تغییر دهید مگر اینکه تمام متغیرهای مجموعه داده را که از آن استفاده می کنند جایگزین کنید.
به روزرسانی همچنین در صورت لزوم تراز خودکار را انجام می دهد. بر خلاف ادغام ، به جای ادغام شاخص ها ، تراز آرایه اصلی را حفظ می کند:
منطق تراز دقیقاً همان تنظیم متغیر با نحو __setItem__:
برابر و یکسان#
اشیاء Xarray را می توان با استفاده از روش های برابر () ، یکسان () و Broadcast_Equals () مقایسه کرد. این روشها توسط آرگومان سازگاری اختیاری در مورد Concat و Merge استفاده می شود.
برابر با نام های ابعاد ، شاخص ها و مقادیر آرایه: بررسی می کند:
یکسان همچنین ویژگی ها و نام هر شی را بررسی می کند:
Broadcast_Equals یک شکل آرام تر از برابری را انجام می دهد که به متغیرها اجازه می دهد تا ابعاد مختلفی داشته باشند ، تا زمانی که مقادیر در طول آن ابعاد جدید ثابت باشند:
مانند اشیاء پاندا ، اگر مقادیر از دست رفته توسط NAN در همان مکان ها مشخص شده باشند ، دو شیء Xarray هنوز هم برابر یا یکسان هستند.
در مقابل ، عملکرد == مقایسه عناصر عاقلانه (مانند Numpy) را انجام می دهد:
توجه داشته باشید که NAN در مقایسه عناصر با NAN مقایسه نمی کند. ممکن است لازم باشد که صریحاً با مقادیر گمشده مقابله کنید.
ادغام با "no_conflicts"#
استدلال سازگار "NO_CONFLICTS" فقط در هنگام ترکیب اشیاء Xarray با ادغام در دسترس است. علاوه بر روشهای مقایسه فوق ، ادغام اشیاء Xarray با مکانهایی که مقادیر NAN دارند ، امکان پذیر است. این می تواند برای ترکیب داده ها با مختصات همپوشانی استفاده شود تا زمانی که هر مقادیر غیرقانونی موافق باشند یا از هم جدا شوند:
توجه داشته باشید که به دلیل بازنمایی اساسی مقادیر گمشده به عنوان شماره های نقطه شناور (NAN) ، نوع داده متغیر همیشه هنگام ادغام به این روش حفظ نمی شود.
ترکیب در امتداد ابعاد متعدد#
برای ترکیب بسیاری از اشیاء در ابعاد مختلف Xarray Combine_nested () و Combine_by_coords () را فراهم می کند. این توابع از ترکیبی از Concat و ادغام در متغیرهای مختلف برای ترکیب بسیاری از اشیاء در یک استفاده می کنند.
combine_nested () نیاز به مشخص کردن نظمی دارد که در آن اشیاء باید ترکیب شوند ، در حالی که combine_by_coords () سعی در استنباط این ترتیب به طور خودکار از مختصات موجود در داده ها دارد.
combine_nested () وقتی می دانید که رابطه مکانی بین هر شیء از قبل می دانید. مجموعه داده ها باید به صورت یک لیست تو در تو تهیه شوند که موقعیت و سفارش نسبی آنها را مشخص می کند. یک کار مشترک جمع آوری داده ها از یک شبیه سازی موازی است که در آن هر پردازنده داده ها را به یک پرونده جداگانه می نویسد. دامنه ای که به 4 قسمت تجزیه شده است ، 2 در هر دو محور x و y ، نیاز به سازماندهی مجموعه داده ها در یک لیست مضاعف توخالی دارد ، به عنوان مثال:
Combine_nested () همچنین می تواند برای ادغام صریح مجموعه داده ها با متغیرهای مختلف استفاده شود. به عنوان مثال اگر ما 4 مجموعه داده داریم که دو بار تقسیم می شوند و شامل دو متغیر مختلف هستند ، می توانیم هیچ کس را به "concat_dim" منتقل کنیم تا ابعاد لیست تو در تو را مشخص کنیم که می خواهیم به جای Concat از ادغام استفاده کنیم:
combine_by_coords () برای ترکیب اشیاء است که دارای مختصات ابعادی هستند که رابطه آنها را با یکدیگر مشخص می کنند و نسبت به یکدیگر ترتیب می دهند ، به عنوان مثال یک مختصات ابعاد "زمان" افزایش دهنده.
در اینجا ما دو مجموعه داده را با استفاده از مختصات ابعاد مشترک آنها ترکیب می کنیم. توجه کنید که آنها به ترتیب بر اساس مقادیر موجود در مختصات ابعاد خود ، نه بر روی موقعیت آنها در لیست منتقل شده به Combine_By_coords به هم پیوسته اند.
این توابع را می توان توسط Open_mfdataset () برای باز کردن بسیاری از پرونده ها به عنوان یک مجموعه داده استفاده کرد. تابع خاص مورد استفاده با تنظیم آرگومان "ترکیب" به "by_coords" یا "تو در تو" مشخص شده است. این برای موقعیت هایی مفید است که داده های شما در بسیاری از پرونده ها در چندین مکان تقسیم می شود ، که رابطه ای شناخته شده بین یکدیگر دارند.
تغییر شکل و سازماندهی داده ها
داده های سری زمانی
© کپی رایت 2014-2022 ، توسعه دهندگان Xarray. آخرین به روز شده در 2022-12-02.
Xarray یک پروژه با حمایت مالی از Numfocus است ، غیرانتفاعی که به حمایت از جامعه محاسبات علمی منبع باز اختصاص داده شده است. موضوع توسط پروژه کتاب اجرایی
رازهاي معامله گران موفق...
ما را در سایت رازهاي معامله گران موفق دنبال می کنید
برچسب :
نویسنده : سید مهدی موسوی
بازدید : <-PostHit->
تاريخ : سه
شنبه
23 اسفند
1401 ساعت: 16:55