Xarray объединить дубликаты измерений
Я работаю с HDF файлами космических лидарных измерений. Эти файлы содержат множество переменных, в том числе широту / долготу, высоту поверхности и т. Д. Несмотря на то, что несколько переменных имеют одни и те же измерения, каждая переменная получает свои собственные уникальные имена измерений. Например, первое измерение нескольких переменных - это время, но это измерение получает новое имя для каждой переменной - на практике они называются fakeDim1
, fakeDim2
, fakeDim3
так далее:
<xarray.Dataset> Dimensions: (fakeDim0: 56325, fakeDim1: 1, fakeDim10: 56325, fakeDim100: 56325, fakeDim101: 1, fakeDim102: 56325, fakeDim103: 1, fakeDim104: 56325, fakeDim105: 1, fakeDim106: 56325, fakeDim107: 1, fakeDim108: 56325, fakeDim109: 1, fakeDim11: 1, fakeDim110: 56325, fakeDim111: 1, fakeDim112: 56325, fakeDim113: 1, fakeDim114: 56325, fakeDim115: 1, fakeDim116: 56325, fakeDim117: 1, fakeDim118: 56325, fakeDim119: 1, fakeDim12: 56325, fakeDim120: 56325, fakeDim121: 1, fakeDim122: 56325, fakeDim123: 1, fakeDim124: 56325, fakeDim125: 1, fakeDim126: 56325, fakeDim127: 1, fakeDim128: 56325, fakeDim129: 1, fakeDim13: 1, fakeDim130: 56325, fakeDim131: 1, fakeDim132: 56325, fakeDim133: 1, fakeDim134: 56325, fakeDim135: 1, fakeDim136: 56325, fakeDim137: 3, fakeDim138: 56325, fakeDim139: 3, fakeDim14: 56325, fakeDim140: 56325, fakeDim141: 3, fakeDim142: 56325, fakeDim143: 3, fakeDim144: 56325, fakeDim145: 1, fakeDim146: 56325, fakeDim147: 1, fakeDim148: 56325, fakeDim149: 1, fakeDim15: 1, fakeDim150: 56325, fakeDim151: 1, fakeDim152: 56325, fakeDim153: 1, fakeDim16: 56325, fakeDim17: 1, fakeDim18: 56325, fakeDim19: 1, fakeDim2: 56325, fakeDim20: 56325, fakeDim21: 1, fakeDim22: 56325, fakeDim23: 1, fakeDim24: 56325, fakeDim25: 1, fakeDim26: 56325, fakeDim27: 1, fakeDim28: 56325, fakeDim29: 1, fakeDim3: 1, fakeDim30: 56325, fakeDim31: 1, fakeDim32: 56325, fakeDim33: 1, fakeDim34: 56325, fakeDim35: 1, fakeDim36: 56325, fakeDim37: 1, fakeDim38: 56325, fakeDim39: 1, fakeDim4: 56325, fakeDim40: 56325, fakeDim41: 1, fakeDim42: 56325, fakeDim43: 1, fakeDim44: 56325, fakeDim45: 1, fakeDim46: 56325, fakeDim47: 1, fakeDim48: 56325, fakeDim49: 1, fakeDim5: 1, fakeDim50: 56325, fakeDim51: 1, fakeDim52: 56325, fakeDim53: 1, fakeDim54: 56325, fakeDim55: 1, fakeDim56: 56325, fakeDim57: 1, fakeDim58: 56325, fakeDim59: 1, fakeDim6: 56325, fakeDim60: 56325, fakeDim61: 583, fakeDim62: 56325, fakeDim63: 583, fakeDim64: 56325, fakeDim65: 1, fakeDim66: 56325, fakeDim67: 1, fakeDim68: 56325, fakeDim69: 1, fakeDim7: 1, fakeDim70: 56325, fakeDim71: 1, fakeDim72: 56325, fakeDim73: 1, fakeDim74: 56325, fakeDim75: 1, fakeDim76: 56325, fakeDim77: 583, fakeDim78: 56325, fakeDim79: 1, fakeDim8: 56325, fakeDim80: 56325, fakeDim81: 33, fakeDim82: 56325, fakeDim83: 33, fakeDim84: 56325, fakeDim85: 33, fakeDim86: 56325, fakeDim87: 33, fakeDim88: 56325, fakeDim89: 33, fakeDim9: 1, fakeDim90: 56325, fakeDim91: 2, fakeDim92: 56325, fakeDim93: 1, fakeDim94: 56325, fakeDim95: 1, fakeDim96: 56325, fakeDim97: 1, fakeDim98: 56325, fakeDim99: 1)
Dimensions without coordinates: fakeDim0, fakeDim1, fakeDim10, fakeDim100, fakeDim101, fakeDim102, fakeDim103, fakeDim104, fakeDim105, fakeDim106, fakeDim107, fakeDim108, fakeDim109, fakeDim11, fakeDim110, fakeDim111, fakeDim112, fakeDim113, fakeDim114, fakeDim115, fakeDim116, fakeDim117, fakeDim118, fakeDim119, fakeDim12, fakeDim120, fakeDim121, fakeDim122, fakeDim123, fakeDim124, fakeDim125, fakeDim126, fakeDim127, fakeDim128, fakeDim129, fakeDim13, fakeDim130, fakeDim131, fakeDim132, fakeDim133, fakeDim134, fakeDim135, fakeDim136, fakeDim137, fakeDim138, fakeDim139, fakeDim14, fakeDim140, fakeDim141, fakeDim142, fakeDim143, fakeDim144, fakeDim145, fakeDim146, fakeDim147, fakeDim148, fakeDim149, fakeDim15, fakeDim150, fakeDim151, fakeDim152, fakeDim153, fakeDim16, fakeDim17, fakeDim18, fakeDim19, fakeDim2, fakeDim20, fakeDim21, fakeDim22, fakeDim23, fakeDim24, fakeDim25, fakeDim26, fakeDim27, fakeDim28, fakeDim29, fakeDim3, fakeDim30, fakeDim31, fakeDim32, fakeDim33, fakeDim34, fakeDim35, fakeDim36, fakeDim37, fakeDim38, fakeDim39, fakeDim4, fakeDim40, fakeDim41, fakeDim42, fakeDim43, fakeDim44, fakeDim45, fakeDim46, fakeDim47, fakeDim48, fakeDim49, fakeDim5, fakeDim50, fakeDim51, fakeDim52, fakeDim53, fakeDim54, fakeDim55, fakeDim56, fakeDim57, fakeDim58, fakeDim59, fakeDim6, fakeDim60, fakeDim61, fakeDim62, fakeDim63, fakeDim64, fakeDim65, fakeDim66, fakeDim67, fakeDim68, fakeDim69, fakeDim7, fakeDim70, fakeDim71, fakeDim72, fakeDim73, fakeDim74, fakeDim75, fakeDim76, fakeDim77, fakeDim78, fakeDim79, fakeDim8, fakeDim80, fakeDim81, fakeDim82, fakeDim83, fakeDim84, fakeDim85, fakeDim86, fakeDim87, fakeDim88, fakeDim89, fakeDim9, fakeDim90, fakeDim91, fakeDim92, fakeDim93, fakeDim94, fakeDim95, fakeDim96, fakeDim97, fakeDim98, fakeDim99
Data variables:
Profile_Time (fakeDim0, fakeDim1) float64 7.413e+08 ...
Profile_UTC_Time (fakeDim2, fakeDim3) float64 1.606e+05 ...
Profile_ID (fakeDim4, fakeDim5) int32 165 ...
Land_Water_Mask (fakeDim6, fakeDim7) int8 1 ...
IGBP_Surface_Type (fakeDim8, fakeDim9) int8 5 ...
(snip)
В приведенном выше фрагменте имена измерений fakeDim0
, fakeDim2
, fakeDim4
, fakeDim6
а также fakeDim8
все относятся к одному измерению. Как вы можете сказать, есть много переменных и измерений.
Этот выбор имен делает очень трудным (среди прочего) интеллектуальную обработку вещей в xarray.
Я ищу способ сообщить xarray, что несколько имен измерений в наборе данных являются одним и тем же измерением, и объединить их. Я пытался использовать ds.swap_dims
, но это требует довольно много рук, и я решил, что прежде чем идти ва-банк, я сначала спрошу:-)