我有一个DataFrame
data
这意味着
data.describe()['mean':'mean']
(没有找到更好的方法来提取均值行)
我想显示 data
以便它可见,哪些值大于均值(并用红色着色或附加一些标签,如“更大”),哪些值小于均值(并用蓝色着色或用“更小”标记)。
我知道,着色可能取决于输出技术,所以我使用 jupyter notebook 和
from IPython.display import display
不需要着色。用标签替换字符串是可以的。
更新
我需要将值包含在单独的 1 行表中,而不是动态计算。
更新 2
假设我有 2 个数据集
df1 = pd.DataFrame(np.random.rand(10,5))
df2 = pd.DataFrame(np.random.rand(1,5))
并想根据 df2
为 df1
着色?
最佳答案
更新:
df1 = pd.DataFrame(np.random.rand(10,5))
df2 = pd.DataFrame(np.random.rand(1,5))
df1.style.apply(lambda x: np.where(x > df2.loc[0, x.name], 'color: green', 'color: blue'))
旧答案:
您可以使用 Pandas Style :
df.style.apply(lambda x: np.where(x >= x.mean(), 'color: red', 'color: blue'))
关于python - 如何比较一个 DataFrame 与另一个单行 DataFrame 并相应地着色或修改单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41653486/