我有下面的 Dataframe
import pandas as pd
import numpy as np
d = {'Cell':['A','B','C','D','E'],'D1':[5, 2, 2, 6,6], 'D2':[np.nan, 5, 6, np.nan,3], 'D3':[7,np.nan, 5, 5,np.nan], 'D6':[17, 3, np.nan,np.nan,2],'diff%':[np.nan,[40],[16.67],[16.67,50],[50,33,24]]}
df = pd.DataFrame(d)
Cell D1 D2 D3 D6 diff%
0 A 5 NaN 7.0 17.0 NaN
1 B 2 5.0 NaN 3.0 [40]
2 C 2 6.0 5.0 NaN [16.67]
3 D 6 NaN 5.0 NaN [16.67, 50]
4 E 6 3.0 NaN 2.0 [50, 33, 24]
1.我想创建一个 Dataframe ,其中包含diff%列中任何值大于30的行
1.有条件地仅对〉30的值进行颜色编码(样式),采用粗体和红色文本颜色样式,用于从 Dataframe 创建HTML表。
下面是我想要的 Dataframe
Cell D1 D2 D3 D6 diff%
1 B 2 5.0 NaN 3.0 [40]
3 D 6 NaN 5.0 NaN [16.67, 50]
4 E 6 3.0 NaN 2.0 [50, 33, 24]
请让我知道任何解决这个问题的办法?
1条答案
按热度按时间lndjwyie1#
下面是使用lambda、
isinstance()
和any()
方法的方法要应用颜色,可以使用服装函数和
df.style.applymap()
: