本文整理匯總了Python中pandas.formats.style.Styler._update_ctx方法的典型用法代碼示例。如果您正苦於以下問題:Python Styler._update_ctx方法的具體用法?Python Styler._update_ctx怎麽用?Python Styler._update_ctx使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pandas.formats.style.Styler
的用法示例。
在下文中一共展示了Styler._update_ctx方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: TestStyler
# 需要導入模塊: from pandas.formats.style import Styler [as 別名]
# 或者: from pandas.formats.style.Styler import _update_ctx [as 別名]
class TestStyler(TestCase):
def setUp(self):
np.random.seed(24)
self.s = DataFrame({'A': np.random.permutation(range(6))})
self.df = DataFrame({'A': [0, 1], 'B': np.random.randn(2)})
self.f = lambda x: x
self.g = lambda x: x
def h(x, foo='bar'):
return pd.Series(['color: %s' % foo], index=x.index, name=x.name)
self.h = h
self.styler = Styler(self.df)
self.attrs = pd.DataFrame({'A': ['color: red', 'color: blue']})
self.dataframes = [
self.df,
pd.DataFrame({'f': [1., 2.], 'o': ['a', 'b'],
'c': pd.Categorical(['a', 'b'])})
]
def test_init_non_pandas(self):
with tm.assertRaises(TypeError):
Styler([1, 2, 3])
def test_init_series(self):
result = Styler(pd.Series([1, 2]))
self.assertEqual(result.data.ndim, 2)
def test_repr_html_ok(self):
self.styler._repr_html_()
def test_update_ctx(self):
self.styler._update_ctx(self.attrs)
expected = {(0, 0): ['color: red'],
(1, 0): ['color: blue']}
self.assertEqual(self.styler.ctx, expected)
def test_update_ctx_flatten_multi(self):
attrs = DataFrame({"A": ['color: red; foo: bar',
'color: blue; foo: baz']})
self.styler._update_ctx(attrs)
expected = {(0, 0): ['color: red', ' foo: bar'],
(1, 0): ['color: blue', ' foo: baz']}
self.assertEqual(self.styler.ctx, expected)
def test_update_ctx_flatten_multi_traliing_semi(self):
attrs = DataFrame({"A": ['color: red; foo: bar;',
'color: blue; foo: baz;']})
self.styler._update_ctx(attrs)
expected = {(0, 0): ['color: red', ' foo: bar'],
(1, 0): ['color: blue', ' foo: baz']}
self.assertEqual(self.styler.ctx, expected)
def test_copy(self):
s2 = copy.copy(self.styler)
self.assertTrue(self.styler is not s2)
self.assertTrue(self.styler.ctx is s2.ctx) # shallow
self.assertTrue(self.styler._todo is s2._todo)
self.styler._update_ctx(self.attrs)
self.styler.highlight_max()
self.assertEqual(self.styler.ctx, s2.ctx)
self.assertEqual(self.styler._todo, s2._todo)
def test_deepcopy(self):
s2 = copy.deepcopy(self.styler)
self.assertTrue(self.styler is not s2)
self.assertTrue(self.styler.ctx is not s2.ctx)
self.assertTrue(self.styler._todo is not s2._todo)
self.styler._update_ctx(self.attrs)
self.styler.highlight_max()
self.assertNotEqual(self.styler.ctx, s2.ctx)
self.assertEqual(s2._todo, [])
self.assertNotEqual(self.styler._todo, s2._todo)
def test_clear(self):
s = self.df.style.highlight_max()._compute()
self.assertTrue(len(s.ctx) > 0)
self.assertTrue(len(s._todo) > 0)
s.clear()
self.assertTrue(len(s.ctx) == 0)
self.assertTrue(len(s._todo) == 0)
def test_render(self):
df = pd.DataFrame({"A": [0, 1]})
style = lambda x: pd.Series(["color: red", "color: blue"], name=x.name)
s = Styler(df, uuid='AB').apply(style)
s.render()
# it worked?
def test_render_double(self):
df = pd.DataFrame({"A": [0, 1]})
style = lambda x: pd.Series(["color: red; border: 1px",
"color: blue; border: 2px"], name=x.name)
s = Styler(df, uuid='AB').apply(style)
s.render()
# it worked?
#.........這裏部分代碼省略.........
示例2: TestStyler
# 需要導入模塊: from pandas.formats.style import Styler [as 別名]
# 或者: from pandas.formats.style.Styler import _update_ctx [as 別名]
class TestStyler(TestCase):
def setUp(self):
np.random.seed(24)
self.s = DataFrame({"A": np.random.permutation(range(6))})
self.df = DataFrame({"A": [0, 1], "B": np.random.randn(2)})
self.f = lambda x: x
self.g = lambda x: x
def h(x, foo="bar"):
return pd.Series(["color: %s" % foo], index=x.index, name=x.name)
self.h = h
self.styler = Styler(self.df)
self.attrs = pd.DataFrame({"A": ["color: red", "color: blue"]})
self.dataframes = [self.df, pd.DataFrame({"f": [1.0, 2.0], "o": ["a", "b"], "c": pd.Categorical(["a", "b"])})]
def test_init_non_pandas(self):
with tm.assertRaises(TypeError):
Styler([1, 2, 3])
def test_init_series(self):
result = Styler(pd.Series([1, 2]))
self.assertEqual(result.data.ndim, 2)
def test_repr_html_ok(self):
self.styler._repr_html_()
def test_update_ctx(self):
self.styler._update_ctx(self.attrs)
expected = {(0, 0): ["color: red"], (1, 0): ["color: blue"]}
self.assertEqual(self.styler.ctx, expected)
def test_update_ctx_flatten_multi(self):
attrs = DataFrame({"A": ["color: red; foo: bar", "color: blue; foo: baz"]})
self.styler._update_ctx(attrs)
expected = {(0, 0): ["color: red", " foo: bar"], (1, 0): ["color: blue", " foo: baz"]}
self.assertEqual(self.styler.ctx, expected)
def test_update_ctx_flatten_multi_traliing_semi(self):
attrs = DataFrame({"A": ["color: red; foo: bar;", "color: blue; foo: baz;"]})
self.styler._update_ctx(attrs)
expected = {(0, 0): ["color: red", " foo: bar"], (1, 0): ["color: blue", " foo: baz"]}
self.assertEqual(self.styler.ctx, expected)
def test_copy(self):
s2 = copy.copy(self.styler)
self.assertTrue(self.styler is not s2)
self.assertTrue(self.styler.ctx is s2.ctx) # shallow
self.assertTrue(self.styler._todo is s2._todo)
self.styler._update_ctx(self.attrs)
self.styler.highlight_max()
self.assertEqual(self.styler.ctx, s2.ctx)
self.assertEqual(self.styler._todo, s2._todo)
def test_deepcopy(self):
s2 = copy.deepcopy(self.styler)
self.assertTrue(self.styler is not s2)
self.assertTrue(self.styler.ctx is not s2.ctx)
self.assertTrue(self.styler._todo is not s2._todo)
self.styler._update_ctx(self.attrs)
self.styler.highlight_max()
self.assertNotEqual(self.styler.ctx, s2.ctx)
self.assertEqual(s2._todo, [])
self.assertNotEqual(self.styler._todo, s2._todo)
def test_clear(self):
s = self.df.style.highlight_max()._compute()
self.assertTrue(len(s.ctx) > 0)
self.assertTrue(len(s._todo) > 0)
s.clear()
self.assertTrue(len(s.ctx) == 0)
self.assertTrue(len(s._todo) == 0)
def test_render(self):
df = pd.DataFrame({"A": [0, 1]})
style = lambda x: pd.Series(["color: red", "color: blue"], name=x.name)
s = Styler(df, uuid="AB").apply(style)
s.render()
# it worked?
def test_render_double(self):
df = pd.DataFrame({"A": [0, 1]})
style = lambda x: pd.Series(["color: red; border: 1px", "color: blue; border: 2px"], name=x.name)
s = Styler(df, uuid="AB").apply(style)
s.render()
# it worked?
def test_set_properties(self):
df = pd.DataFrame({"A": [0, 1]})
result = df.style.set_properties(color="white", size="10px")._compute().ctx
# order is deterministic
v = ["color: white", "size: 10px"]
expected = {(0, 0): v, (1, 0): v}
self.assertEqual(result.keys(), expected.keys())
for v1, v2 in zip(result.values(), expected.values()):
self.assertEqual(sorted(v1), sorted(v2))
def test_set_properties_subset(self):
#.........這裏部分代碼省略.........