html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/3984#issuecomment-616503710,https://api.github.com/repos/pydata/xarray/issues/3984,616503710,MDEyOklzc3VlQ29tbWVudDYxNjUwMzcxMA==,35968931,2020-04-20T11:54:07Z,2020-04-20T11:54:07Z,MEMBER,"@keewis your answer (and a clarification that we can't do real ""ragged"" arrays) would make a useful cookbook or StackOverflow answer, since I suspect a lot of people have this question.","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,602793814 https://github.com/pydata/xarray/issues/3984#issuecomment-616211072,https://api.github.com/repos/pydata/xarray/issues/3984,616211072,MDEyOklzc3VlQ29tbWVudDYxNjIxMTA3Mg==,14808389,2020-04-19T19:24:51Z,2020-04-20T10:35:44Z,MEMBER,"this ultimately depends on how the last dimension of `A` and `B` are related (or rather, how you want to model the relationship). If they are not related at all, simply use different dimension names: ```python In [2]: da1 = xr.DataArray(np.empty(shape=(2, 5, 100)), dims=(""x"", ""y"", ""z1"")) ...: da2 = xr.DataArray(np.empty(shape=(2, 5, 101)), dims=(""x"", ""y"", ""z2"")) ...: ds = xr.Dataset({""a"": da1, ""b"": da2}) ...: ds Out[2]: Dimensions: (x: 2, y: 5, z1: 100, z2: 101) Dimensions without coordinates: x, y, z1, z2 Data variables: a (x, y, z1) float64 6.901e-310 6.901e-310 4.67e-310 ... 0.0 0.0 0.0 b (x, y, z2) float64 6.901e-310 6.901e-310 4.67e-310 ... 0.0 0.0 0.0 ``` If they are related, assign coordinates to the dimensions: ```python In [3]: da1 = xr.DataArray( ...: np.empty(shape=(2, 5, 100)), ...: dims=(""x"", ""y"", ""z""), ...: coords={""z"": np.arange(100)}, ...: ) ...: da2 = xr.DataArray( ...: np.empty(shape=(2, 5, 101)), ...: dims=(""x"", ""y"", ""z""), ...: coords={""z"": np.arange(101)}, ...: ) ...: ds = xr.Dataset({""a"": da1, ""b"": da2}) ...: ds Out[3]: Dimensions: (x: 2, y: 5, z: 101) Coordinates: * z (z) int64 0 1 2 3 4 5 6 7 8 9 10 ... 91 92 93 94 95 96 97 98 99 100 Dimensions without coordinates: x, y Data variables: a (x, y, z) float64 6.901e-310 6.901e-310 ... 6.917e-323 nan b (x, y, z) float64 6.901e-310 6.901e-310 ... 6.901e-310 -6.35e+53 ``` In this case, `A` does not have the label `z=100`, so it is treated as missing (you should be familiar with the concept of ""missing values"" since you know `pandas`).","{""total_count"": 4, ""+1"": 4, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,602793814