按组显示前N个和后N个值的Pandas新数据框架
创始人
2024-09-03 05:30:19
0

下面是一个示例代码,展示了如何使用Pandas创建一个新的数据框架,按组显示前N个和后N个值。

首先,我们导入必要的库:

import pandas as pd

接下来,创建一个示例数据框架:

data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
        'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
df = pd.DataFrame(data)

数据框架如下所示:

  Group  Value
0     A      1
1     A      2
2     A      3
3     B      4
4     B      5
5     B      6
6     C      7
7     C      8
8     C      9

现在,我们可以使用groupby函数按组对数据框架进行分组,并使用apply函数在每个组上应用自定义函数。在自定义函数中,我们可以使用headtail函数选择前N个和后N个值,并使用concat函数将它们连接成一个新的数据框架。

下面是完整的代码示例:

import pandas as pd

data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
        'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
df = pd.DataFrame(data)

def get_top_bottom_n(group, n):
    top_n = group.head(n)
    bottom_n = group.tail(n)
    return pd.concat([top_n, bottom_n])

N = 2
new_df = df.groupby('Group').apply(get_top_bottom_n, n=N).reset_index(drop=True)

新的数据框架new_df如下所示:

  Group  Value
0     A      1
1     A      2
2     A      2
3     A      3
4     B      4
5     B      5
6     B      5
7     B      6
8     C      7
9     C      8
10    C      8
11    C      9

在这个示例中,我们选择了每个组的前2个和后2个值,所以新的数据框架中有12个行。

相关内容

热门资讯

玩家攻略!阳光岛牌乐汇怎么开挂... 玩家攻略!阳光岛牌乐汇怎么开挂(透视)原来真的是有挂(2022已更新)(哔哩哔哩)1、阳光岛牌乐汇怎...
1分钟了解!微信里的欢乐麻将是... 1分钟了解!微信里的欢乐麻将是不是有挂,心悦麻将有什么猫腻,必胜教程(有挂黑科技);1、下载好微信里...
一分钟揭秘!浩瀚麻将十三水(透... 一分钟揭秘!浩瀚麻将十三水(透视辅助)一直存在有挂(2025已更新)(哔哩哔哩)1、全新机制【浩瀚麻...
八分钟了解!顺心茶楼外 挂,米... 八分钟了解!顺心茶楼外 挂,米兔麻将有没有挂,第三方教程(有挂方法)米兔麻将有没有挂是一种具有地方特...
发现玩家!指尖跑得快有外 挂吗... 发现玩家!指尖跑得快有外 挂吗(透视辅助)果然真的有挂(2024已更新)(哔哩哔哩)1)指尖跑得快有...
四分钟了解!钱塘十三水有没有套... 四分钟了解!钱塘十三水有没有套路,兴动互娱最强辅助神器下载,玩家教程(有挂脚本)1、用户打开应用后不...
玩家必用!蜀山麻将助赢神器(辅... 玩家必用!蜀山麻将助赢神器(辅助挂)都是有挂(2022已更新)(哔哩哔哩)1、点击下载安装,蜀山麻将...
2分钟了解!掌酷十三张怎么装挂... 2分钟了解!掌酷十三张怎么装挂,同城跑胡子免费辅助器,切实教程(有挂技巧)1、同城跑胡子免费辅助器a...
玩家必看分享!七彩云南全民雀神... 玩家必看分享!七彩云南全民雀神外 挂(透明挂)果然是有挂(2022已更新)(哔哩哔哩);1、游戏颠覆...
八分钟了解!广东闲来麻将如何提... 八分钟了解!广东闲来麻将如何提高胜率,顺欣茶楼辅助器,爆料教程(有挂透明)1、下载好广东闲来麻将如何...