Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为Dataframe.to_html()的单列着色_Python_Pandas_Dataframe - Fatal编程技术网

Python 为Dataframe.to_html()的单列着色

Python 为Dataframe.to_html()的单列着色,python,pandas,dataframe,Python,Pandas,Dataframe,在将其标记为重复之前,我已经尝试了以下主题中的代码,但到目前为止没有一个对我有效: [] [] [] 我的代码生成了三个数据帧,如下所示: RowName Orders Market StartTime StopTime Status good A 9 gold 10:00:00 10:09:45 .

在将其标记为重复之前,我已经尝试了以下主题中的代码,但到目前为止没有一个对我有效:

[]

[]

[]

我的代码生成了三个数据帧,如下所示:

         RowName   Orders   Market  StartTime  StopTime
Status
good     A          9       gold    10:00:00    10:09:45
                             .         
                             .
                             .
bad      B          60      silver  07:54:43    08:02:12

         RowName   Orders   Market  StartTime  StopTime
Status
good     E          19      plat.    10:00:00    10:09:45
                             .         
                             .
bad      F          54      mercury  07:54:43    08:02:12

         RowName   Orders   Market  StartTime  StopTime
Status
great     D          3       alum.   10:00:00    10:09:45
                             .         
                             .
ok        C          70      bronze  07:54:43    08:02:12
其中,状态列设置为每个帧的索引

对于每一帧,我想突出显示值为D42A2A(也称为红色)的StartTime列,而不管给定单元格中的值是什么

如何做到这一点

最近失败的尝试:

def列_样式列: 如果列名称==“开始时间”: 返回pd系列'bgcolor:d42a2a',列索引

def颜色数据: 颜色=‘红色’如果数据!=还有“黑色” 返回“颜色:%s”%color frame.style.applymapcol_color,子集=['StartTime']

但这也失败了

注:

我在linux shell中使用VI

IE internet explorer正在调用整个脚本,因此脚本的输出是html

我正在使用BS beautifulsoup从几个站点中收集数据,并将结果聚合到一个页面上 {*在抓取初始网站并创建所需的网站(称为Page1)后,我尝试在同一脚本中抓取Page1,并通过.attrs方法添加html行,但这失败了,即Web服务器在运行期间超时}

让我们试试这个:

import pandas as pd
import numpy as np

np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})

df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
               axis=1)
df.iloc[0, 2] = np.nan

def highlight_column(s, col):
    return ['background-color: #d42a2a' if s.name == col else '' for v in s.index]

df.style.apply(highlight_column, col = 'B')
输出:

让我们试试这个:

import pandas as pd
import numpy as np

np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})

df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
               axis=1)
df.iloc[0, 2] = np.nan

def highlight_column(s, col):
    return ['background-color: #d42a2a' if s.name == col else '' for v in s.index]

df.style.apply(highlight_column, col = 'B')
输出:


如果有人使用BeautifulSoup解析网站,然后使用pandas创建您可能希望添加样式的数据框,您可以执行以下操作:

在使用之前,你已经;导入beautifulsoup,清理您的站点并创建数据帧

变量_name=beautifulsoupdataframe_name.to_html

列表=[]

列表[td_索引]['attribute_name']='attribute_value'

这会将所有表数据添加到列表中,您可以从该列表中选择任何元素并添加/更新标记属性


如果有更有效的方法请发表评论以帮助改进

如果有人使用BeautifulSoup解析网站,然后使用pandas创建您可能需要添加样式的数据框,您可以执行以下操作:

在使用之前,你已经;导入beautifulsoup,清理您的站点并创建数据帧

变量_name=beautifulsoupdataframe_name.to_html

列表=[]

列表[td_索引]['attribute_name']='attribute_value'

这会将所有表数据添加到列表中,您可以从该列表中选择任何元素并添加/更新标记属性


如果是更有效的方法,请发表评论以帮助改进

这是我看到但无法完全掌握的方法之一。您是否介意将其编辑为适用于上述数据帧,即重命名适当的变量必须将col='B'更改为col='StartTime'并应用于您的数据帧。明白了。尝试此方法后,背景仍为白色。不幸的是,YDF.head.to_dict的输出是什么?结果表明,您的def HIGHT_列col完全正确。唯一需要配置的就是通话。因此,调用该函数的方法应该是:df.style.applyhighlight\u column,col='B'.renderable\u styles='default'。谢谢这是我看到但不能完全理解的方式之一。您是否介意将其编辑为适用于上述数据帧,即重命名适当的变量必须将col='B'更改为col='StartTime'并应用于您的数据帧。明白了。尝试此方法后,背景仍为白色。不幸的是,YDF.head.to_dict的输出是什么?结果表明,您的def HIGHT_列col完全正确。唯一需要配置的就是通话。因此,调用该函数的方法应该是:df.style.applyhighlight\u column,col='B'.renderable\u styles='default'。谢谢