本文整理汇总了Python中xray.Dataset.indexed方法的典型用法代码示例。如果您正苦于以下问题:Python Dataset.indexed方法的具体用法?Python Dataset.indexed怎么用?Python Dataset.indexed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xray.Dataset
的用法示例。
在下文中一共展示了Dataset.indexed方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_groupby
# 需要导入模块: from xray import Dataset [as 别名]
# 或者: from xray.Dataset import indexed [as 别名]
def test_groupby(self):
data = Dataset({'x': ('x', list('abc')),
'c': ('x', [0, 1, 0]),
'z': (['x', 'y'], np.random.randn(3, 5))})
groupby = data.groupby('x')
self.assertEqual(len(groupby), 3)
expected_groups = {'a': 0, 'b': 1, 'c': 2}
self.assertEqual(groupby.groups, expected_groups)
expected_items = [('a', data.indexed(x=0)),
('b', data.indexed(x=1)),
('c', data.indexed(x=2))]
self.assertEqual(list(groupby), expected_items)
identity = lambda x: x
for k in ['x', 'c', 'y']:
actual = data.groupby(k, squeeze=False).apply(identity)
self.assertEqual(data, actual)
data = create_test_data()
for n, (t, sub) in enumerate(list(data.groupby('dim1'))[:3]):
self.assertEqual(data['dim1'][n], t)
self.assertVariableEqual(data['var1'][n], sub['var1'])
self.assertVariableEqual(data['var2'][n], sub['var2'])
self.assertVariableEqual(data['var3'][:, n], sub['var3'])
# TODO: test the other edge cases
with self.assertRaisesRegexp(ValueError, 'must be 1 dimensional'):
data.groupby('var1')
with self.assertRaisesRegexp(ValueError, 'length does not match'):
data.groupby(data['dim1'][:3])
示例2: TestDataArray
# 需要导入模块: from xray import Dataset [as 别名]
# 或者: from xray.Dataset import indexed [as 别名]
#.........这里部分代码省略.........
self.assertFalse(self.dv.identical(da6))
da2[0, 0] = np.nan
self.dv[0, 0] = np.nan
self.assertTrue(self.dv.equals(da2))
self.assertTrue(self.dv.identical(da2))
da2[:] = np.nan
self.assertFalse(self.dv.equals(da2))
self.assertFalse(self.dv.identical(da2))
def test_items(self):
# strings pull out dataarrays
self.assertDataArrayIdentical(self.dv, self.ds['foo'])
x = self.dv['x']
y = self.dv['y']
self.assertDataArrayIdentical(self.ds['x'], x)
self.assertDataArrayIdentical(self.ds['y'], y)
# integer indexing
I = ReturnItem()
for i in [I[:], I[...], I[x.values], I[x.variable], I[x], I[x, y],
I[x.values > -1], I[x.variable > -1], I[x > -1],
I[x > -1, y > -1]]:
self.assertVariableEqual(self.dv, self.dv[i])
for i in [I[0], I[:, 0], I[:3, :2],
I[x.values[:3]], I[x.variable[:3]], I[x[:3]], I[x[:3], y[:4]],
I[x.values > 3], I[x.variable > 3], I[x > 3], I[x > 3, y > 3]]:
self.assertVariableEqual(self.v[i], self.dv[i])
# make sure we always keep the array around, even if it's a scalar
self.assertVariableEqual(self.dv[0, 0], self.dv.variable[0, 0])
for k in ['x', 'y', 'foo']:
self.assertIn(k, self.dv[0, 0].dataset)
def test_indexed(self):
self.assertEqual(self.dv[0].dataset, self.ds.indexed(x=0))
self.assertEqual(self.dv[:3, :5].dataset,
self.ds.indexed(x=slice(3), y=slice(5)))
self.assertDataArrayIdentical(self.dv, self.dv.indexed(x=slice(None)))
self.assertDataArrayIdentical(self.dv[:3], self.dv.indexed(x=slice(3)))
def test_labeled(self):
self.ds['x'] = ('x', np.array(list('abcdefghij')))
da = self.ds['foo']
self.assertDataArrayIdentical(da, da.labeled(x=slice(None)))
self.assertDataArrayIdentical(da[1], da.labeled(x='b'))
self.assertDataArrayIdentical(da[:3], da.labeled(x=slice('c')))
def test_loc(self):
self.ds['x'] = ('x', np.array(list('abcdefghij')))
da = self.ds['foo']
self.assertDataArrayIdentical(da[:3], da.loc[:'c'])
self.assertDataArrayIdentical(da[1], da.loc['b'])
self.assertDataArrayIdentical(da[:3], da.loc[['a', 'b', 'c']])
self.assertDataArrayIdentical(da[:3, :4],
da.loc[['a', 'b', 'c'], np.arange(4)])
da.loc['a':'j'] = 0
self.assertTrue(np.all(da.values == 0))
def test_reindex(self):
foo = self.dv
bar = self.dv[:2, :2]
self.assertDataArrayIdentical(foo.reindex_like(bar), bar)
expected = foo.copy()
expected[:] = np.nan
expected[:2, :2] = bar