issue_comments: 420827114
This data as json
| 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/2414#issuecomment-420827114 | https://api.github.com/repos/pydata/xarray/issues/2414 | 420827114 | MDEyOklzc3VlQ29tbWVudDQyMDgyNzExNA== | 1217238 | 2018-09-12T23:05:11Z | 2018-09-12T23:05:11Z | MEMBER | For reference, here is the error/traceback with xarray 0.10.8: 
```python-traceback
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-a722ff347d1b> in <module>()
      3 er = xr.DataArray(np.array((np.arange(3), np.arange(6)))) # dtype=object because two different vector size
      4 print(er.data[0]) # Does work
----> 5 print(er[0]) # Does not work (ValueError)
/usr/local/lib/python3.6/dist-packages/xarray/core/dataarray.py in __getitem__(self, key)
    472         else:
    473             # xarray-style array indexing
--> 474             return self.isel(indexers=self._item_key_to_dict(key))
    475 
    476     def __setitem__(self, key, value):
/usr/local/lib/python3.6/dist-packages/xarray/core/dataarray.py in isel(self, indexers, drop, **indexers_kwargs)
    754         """
    755         indexers = either_dict_or_kwargs(indexers, indexers_kwargs, 'isel')
--> 756         ds = self._to_temp_dataset().isel(drop=drop, indexers=indexers)
    757         return self._from_temp_dataset(ds)
    758 
/usr/local/lib/python3.6/dist-packages/xarray/core/dataset.py in isel(self, indexers, drop, **indexers_kwargs)
   1425         for name, var in iteritems(self._variables):
   1426             var_indexers = {k: v for k, v in indexers_list if k in var.dims}
-> 1427             new_var = var.isel(indexers=var_indexers)
   1428             if not (drop and name in var_indexers):
   1429                 variables[name] = new_var
/usr/local/lib/python3.6/dist-packages/xarray/core/variable.py in isel(self, indexers, drop, **indexers_kwargs)
    852             if dim in indexers:
    853                 key[i] = indexers[dim]
--> 854         return self[tuple(key)]
    855 
    856     def squeeze(self, dim=None):
/usr/local/lib/python3.6/dist-packages/xarray/core/variable.py in __getitem__(self, key)
    622         if new_order:
    623             data = np.moveaxis(data, range(len(new_order)), new_order)
--> 624         return self._finalize_indexing_result(dims, data)
    625 
    626     def _finalize_indexing_result(self, dims, data):
/usr/local/lib/python3.6/dist-packages/xarray/core/variable.py in _finalize_indexing_result(self, dims, data)
    628         """
    629         return type(self)(dims, data, self._attrs, self._encoding,
--> 630                           fastpath=True)
    631 
    632     def _getitem_with_mask(self, key, fill_value=dtypes.NA):
/usr/local/lib/python3.6/dist-packages/xarray/core/variable.py in __init__(self, dims, data, attrs, encoding, fastpath)
    261         """
    262         self._data = as_compatible_data(data, fastpath=fastpath)
--> 263         self._dims = self._parse_dimensions(dims)
    264         self._attrs = None
    265         self._encoding = None
/usr/local/lib/python3.6/dist-packages/xarray/core/variable.py in _parse_dimensions(self, dims)
    422             raise ValueError('dimensions %s must have the same length as the '
    423                              'number of data dimensions, ndim=%s'
--> 424                              % (dims, self.ndim))
    425         return dims
    426 
ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1
```
 
The bottom line issue is that indexing the 1D object array returns a scalar value: ``` 
 I agree that this is a bug. We actually currently have some logic to fix another manifestation of this issue: https://github.com/pydata/xarray/blob/4de8dbc3b1de461c0c9d3b002e55d60b46d2e6d2/xarray/core/indexing.py#L1145-L1175 This seems to be the wrong check. Instead of checking  Any interest in putting together a pull request? :)  | 
                
                    {
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
} | 
                
                    359679690 |