Pandas:如何获取每组的第一行


您可以使用以下基本语法来获取 pandas DataFrame 中每个组的第一行:

 df. groupby (' column_name '). nth ( 0 )

以下示例展示了如何在实践中使用此语法。

示例:获取 Pandas 中每组的第一行

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 29],
                   ' assists ': [5, 19, 14, 8, 9, 12, 13, 8]})

#view DataFrame
df

	team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
4 B 14 9
5 C 11 12
6 C 20 13
7 C 29 8

我们可以使用以下代码获取每个团队的第一行:

 #get first row for each team
df. groupby (' team '). nth ( 0 )

	assist points
team		
At 18 5
B 19 14
C 11 12

我们还可以指定as_index=False来保留原始索引值:

 #get first row for each team, keep original index values
df. groupby (' team ', as_index= False ). nth ( 0 )

        team points assists
0 to 18 5
2 B 19 14
5 C 11 12

另请注意,如果您想获取每组的前 n 行,可以将值列表传递给nth()函数。

例如,以下代码显示如何获取每组的前两行:

 #get first two rows for each team, keep original index values
df. groupby (' team ', as_index= False ). nth (( 0,1 ) )

team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
5 C 11 12
6 C 20 13

注意:您可以在此处找到nth()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何获取 Pandas DataFrame 的第一行
如何删除 Pandas DataFrame 中的第一行
如何将行插入 Pandas DataFrame

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注