強調表示されたデータフレームをExcelにエクスポートできるように、別のデータフレーム値に基づいてデータフレームを強調表示する方法

そのvaneesh

同じ形状の2つのデータフレームがあり、データフレームの各セルを相互に比較する必要があります。それらが不一致であるか、1つの値がヌルである場合、不一致またはヌル値が真であったセルを強調表示することで優れているように、より大きなデータフレームを書き込む必要があります。

2つのデータフレームの差を、ブール値を持つ別のデータフレームとして計算しました。

data1 = [['tom', 10], ['nick', 15], ['juli', 14]] 
data2=[['tom', 10], ['sam', 15], ['juli', 14]] 

# Create the pandas DataFrame 
df1 = pd.DataFrame(data, columns = ['Name', 'Age']) 
df2 = pd.DataFrame(data2, columns = ['Name', 'Age']) 
df1.replace(r'^\s*$', np.nan, regex=True, inplace=True)
df2= pd.read_excel(excel_file, sheet_name='res', header=None)
df2.replace(r'^\s*$', np.nan, regex=True, inplace=True)
df2.fillna(0, inplace=True)
df1.fillna(0, inplace=True)

difference = df1== df2 #this have boolean values True if value match false if mismatch or null

今、私は違いに応じてセルが強調表示されたdf1を書きたいと思います。たとえば、cell1の差の値がfalseの場合、df1 cell1を黄色で強調表示してから、df1全体を強調表示してExcelに書き込みます。

これがdf1df2です。これを最終的な答えとして欲しいです最終的な答えでは、ニックが強調表示されます(背景色で強調表示したい)。

私はすでにパンダStyler.applymapとStyler.applyを使用しようとしましたが、2つのデータフレームが関係しているため成功しませんでした。たぶん私はこの問題をまっすぐに考えることができません。

df1:

ここに画像の説明を入力してください

df2:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

アンキー

あなたは次のようなことをすることができます:

def myfunc(x):
    c1=''
    c2='background-color: red'
    condition=x.eq(df2)
    res=pd.DataFrame(np.where(condition,c1,c2),index=x.index,columns=x.columns)
    return res
df1.style.apply(myfunc,axis=None)

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ