2017-12-20 12 views
1

私はこの質問を書いていたので、私は実装を考え出しました。私はまだスタイリングが比較的新しいので、まだそれを投稿することを決めた、まだ多くの質問がないので、私はそれが他の人にとって有用であることを願っています。私はdownvotesを取得しないことを望んでいるし、他の誰かの実装を受け入れることを喜んでされます。私はthis postのメタでthis postを読んでいるので、私ははっきりと願っています。必要に応じて私の実装を以下に提供することができます。パンダは別のデータフレームに依存する要素スタイルを設定しました

私は毎日平均でグループ化する時間系列を持っています。時系列データの値があるしきい値を満たしている場合、グループ化されたデータのセルを強調表示したい。

たとえば、私の1日の平均が1で、しきい値が< -1の場合、時間単位の値が-1よりも小さい毎日の手段を強調したいと思います。

マイ毎時データ:

import pandas as pd 
import numpy as np 
from datetime import datetime 
np.random.seed(24) 
date = pd.date_range(start = datetime(2016,1,1), end = datetime(2016,2,1), freq = "H") 
df = pd.DataFrame({'A': np.linspace(1, 100, len(date))}) 
df = pd.concat([df, pd.DataFrame(np.random.randn(len(date), 4), columns=list('BCDE'))], 
       axis=1) 

df['date'] = date 
df.set_index("date", inplace = True) 


#My grouped data 
day = df.groupby(pd.Grouper(freq='D')).mean() 

は、いくつかのものを行うと、結果:私が持っているもの

Result

答えて

0

が、私は自分の質問に答えるつもりですが、ではありませんこれは、遅いです私は多くのデータでそれを行う必要はないので、契約の中断者ですが、よりよい解決策が存在するならば、私はその答えを喜んで受け入れます。

value = -1.06 
grouped = df.groupby(pd.Grouper(freq= 'D')) 
def highlight(val): 
    return 'background-color: green' 
my_style = day.style 
for column in day.columns: 
    for i in day[column].index: 
     data = grouped.get_group(i)[column] 
     if (data<value).any(): 
      my_style = day.style.use(my_style.export()).applymap(highlight, subset = pd.IndexSlice[i,column]) 

my_style 
関連する問題