table固定列 横向滚动_【Python数据处理】透视表的列包含多维时,列名称扁平化处理...

问题场景:

pd.pivot_table是pandas的数据透视表功能,在对多维度数据进行统计计算时,非常好用。

但在我个人使用过程中遇到过一个问题:

当横向按照“1个及以上维度+多个量值”或“2个及以上维度”进行展开时,列名称存在多维。

import numpy as np
import pandas as pd

df=pd.DataFrame({'where':['上海','上海','上海','北京','北京','北京'],
                'what':['西瓜','香蕉','苹果','西瓜','香蕉','苹果'],
                'how much':[1,2,3,1.1,2.1,3.1],
                'how many':[10,20,30,11,21,31]})
df

8dbc74c58e5f43ad10beaa2eba39c104.png
df_pt=pd.pivot_table(df,index=["where"]#纵向展开维度
                     ,columns=["what"]#横向展开维度
                     ,values=["how much","how many"],#量值
                     aggfunc={'how much':np.mean
                              ,'how many':np.sum
                             },fill_value=0)
df_pt

2e663cbf0cf18eafbdd1089769f1c0b5.png

后续引用列时,需要多维引用方式:

7e46d6ce233bb54d95044586e213a959.png

问:如果快捷的将列名称替换为扁平化1维的名称?

解决方案:

#列名称扁平
#初始化空list用于接收
rename_the_df=[]
#遍历原多维列名称
for x in df_pt.columns:
   rename_the_df.append("_".join(x))
#赋值
df_pt.columns=rename_the_df
df_pt.reset_index(inplace=True)
df_pt

效果演示:

4d4367387a3328cb06295e30c0359d08.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Table固定横向滚动,是指在格的左侧或右侧选定某一,让该固定不动,而其他随着页面的横向滚动而滑动。这种布局方式通常用于需要在格中浏览大量数据。通过固定,用户可以快速查看数据的关键信息。同横向滚动使得用户可以浏览未能在屏幕上一次性显示的数据,而无需使用繁琐的分页导航。 要实现这种效果,可以使用css的position属性将固定设为绝对定位。然后,使用JavaScript计算格的滚动位置,以便在滚动更新固定的位置。固定通常有一个较小的宽度,因此在格中有一些可能需要调整宽度以适应页面的剩余部分。 Table固定横向滚动能够提升用户的浏览体验,使用户更加方便地浏览格中的数据。同,这种布局方式还可以使页面更加统一并且美观,提高网站的可用性和易用性。 ### 回答2: 当数较多,一般情况下会出现水平方向的滚动条,但往往其中一些重要的又想要固定在视图中不随水平滚动而消失,这就可以使用table固定横向滚动的方法来实现。 具体实现方式: 首先,在HTML中使用table标签定义格,并在其中使用thead和tbody标签分别定义格的头和内容部分。在头中,我们需要将要固定单独定义一个tr标签,并将其中需要固定加入到特定的td标签中。这些td标签需要添加特定的类名用于后续操作。 其次,在CSS中定义格的基本样式,包括格宽度、边框等,同将tbody设置为overflow: auto来出现水平滚动条。接着,需要使用position: sticky来定义要固定的位置,并通过z-index属性设置其层级关系,使其永远保持在最上层。最后,根据之前定义的类名来设置要固定的样式,使其水平定位后不再随滚动而移动。 好处: 使用该方法可以提高格的用户体验和可读性,使格更加易于理解和操作。固定可以在水平滚动始终显示在最左侧或最右侧,能够方便用户查看和理解格的内容,提高效率和舒适度。此外,使用table固定横向滚动也减少了页面布局的复杂度,使页面结构更加简洁。 ### 回答3: Table固定横向滚动是指在一个较大的格中,将某一的内容固定在左侧位置,使其随着页面的横向滚动而保持不动,同在水平方向添加滚动条,以滚动其他的内容。 这种设计通常在数据较多的候使用,它可以让用户快速浏览格的不同而无需滚动整个页面。另外,由于固定始终可见,用户也能更容易地比较之间的数据。 实现这种功能的方法是,将需要固定单独设置为一个HTML元素,例如div或table,然后使用CSS将其放在最左侧,并设置z-index以确保其始终在格之上。然后,将其他放在另一个容器中,并使用overflow-x属性添加水平滚动条。 但是,这种设计也存在一些缺点。首先,如果数较多,固定会占据屏幕空间,导致其他变得较小,同也会使格在移动设备上使用起来不太方便。其次,由于固定的宽度是固定的,当用户拖动浏览器窗口大小,可能会导致固定与其他不对齐。 因此,固定横向滚动应该在需要且可以适用的情况下使用,以提高格的可读性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值