python - 如何在 pandas to_html 中创建合并行

标签 python html pandas dataframe

我有下面的数据框

UK | FOOD  | Sales | 4000
UK | FOOD  | Order | 6000
US | DRINK | Sales | 4300
US | DRINK | Order | 6600

我想用to_html合并相似值的行 输出应如下所示:

UK | FOOD  | Sales | 4000
           | Order | 6000 
US | DRINK | Sales | 4300
           | Order | 6500

我目前正在使用下面的代码

 html_str = df.to_html(index=False)

是否有合并行的选项(比如在 html 中我们有行 span = n)

最佳答案

假设你的 df 看起来像这样,

    A   B       C       D
0   UK  FOOD    Sales   4000
1   UK  FOOD    Order   6000
2   US  DRINK   Sales   4300
3   US  DRINK   Order   6600

df.loc[df.duplicated(subset=['A','B']),['A','B']]=''
#   A   B       C       D
#   UK  FOOD    Sales   4000
#               Order   6000
#   US  DRINK   Sales   4300
#               Order   6600

html_str=df.to_html(index=False)

#print(html_str)
#'<table border="1" class="dataframe">\n  <thead>\n    <tr style="text-align: right;">\n      <th>A</th>\n      <th>B</th>\n      <th>C</th>\n      <th>D</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>UK</td>\n      <td>FOOD</td>\n      <td>Sales</td>\n      <td>4000</td>\n    </tr>\n    <tr>\n      <td></td>\n      <td></td>\n      <td>Order</td>\n      <td>6000</td>\n    </tr>\n    <tr>\n      <td>US</td>\n      <td>DRINK</td>\n      <td>Sales</td>\n      <td>4300</td>\n    </tr>\n    <tr>\n      <td></td>\n      <td></td>\n      <td>Order</td>\n      <td>6600</td>\n    </tr>\n  </tbody>\n</table>'

关于python - 如何在 pandas to_html 中创建合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779087/

相关文章:

html - 在同一个导航栏上制作 Logo 和列表菜单

html - CSS中具有多种尺寸的 float 图像

python - Pandas:打印一系列的名称和值

python - 按一列对数据进行分组,并从其他两列中选择第一次出现的情况

python - 如何从 l=string 中提取 0207 而不是 207?

python - 如何获取序列化器方法字段中的所有实例

python - 在脚本中使用 pysed

python - 使用 pdfminer.six 从 URL 打开 PDF

python - 连接两个具有共同、重复索引的 Pandas 数据框,而不进行笛卡尔积

javascript - 将文本从文本字段复制到文本区域+标签