在Pandas DataFrame的每组中获取最上面的N条记录

在Pandas DataFrame的每组中获取最上面的N条记录

首先,pandas DataFrame以表的形式存储数据。在某些情况下,我们需要根据一些条件从DataFrame中检索数据。例如,如果我们想获得DataFrame中每组的前N条记录。我们创建DataFrame并使用下面提到的方法。

获取每组中最重要的N条记录

首先,我们在Python中创建了一个pandasDataFrame。

#importing pandas as pd
import pandas as pd
 
#creating dataframe
df=pd.DataFrame({ 'Variables': ['A','A','A','A','B','B',
                                'B','C','C','C','C'],
                 'Value': [2,5,0,3,1,0,9,0,7,5,4]})
df

输出:

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

使用pandas的Groupby()函数对列进行分组

现在,我们将得到 “变量 “列中每一组的最上面的N个值。这里reset_index()被用来根据数据的分组提供一个新的索引。head()用于从顶部获得最重要的N个值。

例子1:假设N=2的值

# setting value of N as 2
N = 2
 
# using groupby to group acc. to
# column 'Variable'
print(df.groupby('Variables').head(N).reset_index(drop=True))

输出:

  Variables  Value
0         A      2
1         A      5
2         B      1
3         B      0
4         C      0
5         C      7

例子2:现在,假设N=4的值

# setting value of N as 2
N = 4
 
# using groupby to group acc.
# to column 'Variable'
print(df.groupby('Variables').head(N).reset_index(drop=True))

输出:

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

使用pandas的nlargest()函数对列进行分组

现在,我们将得到 “变量 “列中每组的最上面的N个值。这里nlargest()函数被用来获取指定列中最大的N个值。

# importing pandas as pd
import pandas as pd
 
# creating dataframe
df=pd.DataFrame({ 'Variables': ['A','A','A','A','B','B',
                                'B','C','C','C','C'],
                'Value': [2,5,0,3,1,0,9,0,7,5,4]})
#print(df)
d = df.nlargest(4, 'Value')
print(d)

输出:

 Variables  Value
6         B      9
8         C      7
1         A      5
9         C      5

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程