Skip to content

Commit d0b9aef

Browse files
committed
ENH: black fix
1 parent a631294 commit d0b9aef

File tree

2 files changed

+57
-27
lines changed

2 files changed

+57
-27
lines changed

pandas/io/formats/style.py

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def __init__(
174174
self.tooltip_styles = None # VERSION ADDED 1.X
175175
self.tooltip_class = None
176176
self.tooltip_class_styles = None
177-
self.set_tooltip_class(name='pd-t', properties=None)
177+
self.set_tooltip_class(name="pd-t", properties=None)
178178

179179
# display_funcs maps (row, col) -> formatting function
180180

@@ -835,25 +835,46 @@ def set_tooltips(self, ttips: DataFrame):
835835
:return:
836836
"""
837837
if not (self.columns.equals(ttips.columns) and self.index.equals(ttips.index)):
838-
raise AttributeError('Tooltips DataFrame must have identical column and index labelling to underlying.')
838+
raise AttributeError(
839+
"Tooltips DataFrame must have identical column and index labelling to underlying."
840+
)
839841

840842
self.cell_ids = True # tooltips only work with individual cell_ids
841843
self.tooltip_styles = []
842844
for i, rn in enumerate(ttips.index):
843845
for j, cn in enumerate(ttips.columns):
844-
if ttips.iloc[i, j] in [np.nan, '', None]:
846+
if ttips.iloc[i, j] in [np.nan, "", None]:
845847
continue
846848
else:
847849
# add pseudo-class and pseudo-elements to css to create tips
848-
self.tooltip_styles.extend([
849-
{'selector': '#T_' + self.uuid + 'row' + str(i) + '_col' + str(j) + f':hover .{self.tooltip_class}',
850-
'props': [('visibility', 'visible')]},
851-
{'selector': '#T_' + self.uuid + 'row' + str(i) + '_col' + str(j) + f' .{self.tooltip_class}::after',
852-
'props': [('content', f'"{str(ttips.iloc[i, j])}"')]}])
850+
self.tooltip_styles.extend(
851+
[
852+
{
853+
"selector": "#T_"
854+
+ self.uuid
855+
+ "row"
856+
+ str(i)
857+
+ "_col"
858+
+ str(j)
859+
+ f":hover .{self.tooltip_class}",
860+
"props": [("visibility", "visible")],
861+
},
862+
{
863+
"selector": "#T_"
864+
+ self.uuid
865+
+ "row"
866+
+ str(i)
867+
+ "_col"
868+
+ str(j)
869+
+ f" .{self.tooltip_class}::after",
870+
"props": [("content", f'"{str(ttips.iloc[i, j])}"')],
871+
},
872+
]
873+
)
853874

854875
return self
855876

856-
def set_tooltip_class(self, name='pd-t', properties=None):
877+
def set_tooltip_class(self, name="pd-t", properties=None):
857878
"""
858879
Method to set the name and properties of the class for creating tooltips on hover.
859880
@@ -888,20 +909,18 @@ def set_tooltip_class(self, name='pd-t', properties=None):
888909
... ('z-index', 1)])
889910
"""
890911
if properties is None:
891-
properties= [ # set default
892-
('visibility', 'hidden'),
893-
('position', 'absolute'),
894-
('z-index', 1),
895-
('background-color', 'black'),
896-
('color', 'white'),
897-
('transform', 'translate(-20px, -20px)')
912+
properties = [ # set default
913+
("visibility", "hidden"),
914+
("position", "absolute"),
915+
("z-index", 1),
916+
("background-color", "black"),
917+
("color", "white"),
918+
("transform", "translate(-20px, -20px)"),
898919
]
899920
self.tooltip_class = name
900921

901922
self.tooltip_class_styles = [
902-
{'selector': f'.{self.tooltip_class}',
903-
'props': properties
904-
}
923+
{"selector": f".{self.tooltip_class}", "props": properties}
905924
]
906925
return self
907926

@@ -918,12 +937,15 @@ def _render_tooltips(self, d):
918937
The dictionary prior to rendering
919938
"""
920939
if self.tooltip_styles:
921-
for row in d['body']:
940+
for row in d["body"]:
922941
for item in row:
923-
if item['type'] == 'td':
924-
item['display_value'] = str(item['display_value']) + f'<span class="{self.tooltip_class}"></span>'
925-
d['table_styles'].extend(self.tooltip_class_styles)
926-
d['table_styles'].extend(self.tooltip_styles)
942+
if item["type"] == "td":
943+
item["display_value"] = (
944+
str(item["display_value"])
945+
+ f'<span class="{self.tooltip_class}"></span>'
946+
)
947+
d["table_styles"].extend(self.tooltip_class_styles)
948+
d["table_styles"].extend(self.tooltip_styles)
927949

928950
def set_precision(self, precision: int) -> "Styler":
929951
"""

pandas/tests/io/formats/test_style.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1691,14 +1691,22 @@ def test_no_cell_ids(self):
16911691
def test_tooltip_render(self):
16921692
# GH XXXXX
16931693
df = pd.DataFrame(data=[[0, 1], [2, 3]])
1694-
ttips = pd.DataFrame(data=[['Min', ''], [np.nan, 'Max']], columns=df.columns, index=df.index)
1694+
ttips = pd.DataFrame(
1695+
data=[["Min", ""], [np.nan, "Max"]], columns=df.columns, index=df.index
1696+
)
16951697
s = Styler(df, uuid="_").set_tooltips(ttips)
16961698
# test tooltip table level class
16971699
assert "#T__ .pd-t {" in s.render()
16981700
# test 'min' tooltip added
1699-
assert '#T__ #T__row0_col0:hover .pd-t {\n visibility: visible;\n } #T__ #T__row0_col0 .pd-t::after {\n content: "Min";\n }' in s.render()
1701+
assert (
1702+
'#T__ #T__row0_col0:hover .pd-t {\n visibility: visible;\n } #T__ #T__row0_col0 .pd-t::after {\n content: "Min";\n }'
1703+
in s.render()
1704+
)
17001705
# test 'max' tooltip added
1701-
assert '#T__ #T__row1_col1:hover .pd-t {\n visibility: visible;\n } #T__ #T__row1_col1 .pd-t::after {\n content: "Max";\n }' in s.render()
1706+
assert (
1707+
'#T__ #T__row1_col1:hover .pd-t {\n visibility: visible;\n } #T__ #T__row1_col1 .pd-t::after {\n content: "Max";\n }'
1708+
in s.render()
1709+
)
17021710

17031711

17041712
@td.skip_if_no_mpl

0 commit comments

Comments
 (0)