Dataframe не отображается в консоли Pycharm после применения style.apply - PullRequest
0 голосов
/ 27 марта 2020

У меня есть два pandas кадра данных, и я хочу выделить ячейки, где есть несоответствие. Я использую PyCharm IDE для кодирования. Dataframe1, Dataframe2, объединенный dataframe, даже окончательный dataframe после замены отображается в консоли. Но когда я использую style.apply , окончательный кадр данных не отображается в консоли с выделенными различными ячейками. Он не выдает никакой ошибки, и код выхода равен 0. Как мне сделать так, чтобы он отображался в консоли, если я использую какой-либо пакет или модуль. Можете ли вы предложить?

Ниже код, который я использую:

import pyodbc
import pandas as pd
import sys

conn = pyodbc.connect("DRIVER=Teradata;DBCNAME=teratesting.com;UID=xxx;PWD=xxxx",unicode_results=True)

Source_Query = pd.read_sql_query ('''Q1;''',conn)
df1 = pd.DataFrame(Source_Query, columns=[])
print(df1)

Target_Query = pd.read_sql_query('''Q2;''',conn)
df2 = pd.DataFrame(Target_Query, columns=[])
print(df2)

df_all = pd.concat([df1.set_index(''), df2.set_index('')], axis='columns', keys=['First', 'Second'])
print(df_all)

df_final = df_all.swaplevel(axis='columns')[df1.columns[1:]]
print(df_final)
# Note: df_final dataframe gets printed successfully. Problem is in last line of this code

def highlight_diff(data, color='yellow'):
    attr = 'background-color: {}'.format(color)
    other = data.xs('First', axis='columns', level=-1)
    return pd.DataFrame(np.where(data.ne(other, level=0), attr, ''),index=data.index, columns=data.columns)
df_final.style.apply(highlight_diff, axis=None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...