通过多列获取 Pandas DataFrame 中每个组的第一行
在 pandas DataFrame 中,通常需要检索第一个根据特定列对 DataFrame 进行分组后每组的行。使用 pandas 的内置方法可以有效地完成此任务。
要实现此目的,可以使用 .first() 方法获取每个组的第一个(非空)元素。 first() 的语法如下:
在您的示例中,您希望按“id”和“value”列对 DataFrame 进行分组,并获取每个组的第一行。您可以使用以下代码:
这将产生以下结果:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
如果您希望将“id”作为结果 DataFrame 中的列,您可以使用reset_index()重置索引,如下所示:
此操作的输出将be:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
另外,如果你想检索每组中的前n行,你可以使用.head()方法而不是first()。例如,要获取每组的前两行,您可以使用:
这将返回以下 DataFrame:
id | value |
---|---|
1 | first |
1 | second |
2 | first |
2 | second |
3 | first |
3 | third |
4 | second |
4 | fifth |
5 | first |
6 | first |
6 | second |
7 | fourth |
7 | fifth |
以上是如何通过多列获取 Pandas DataFrame 中每组的第一行?的详细内容。更多信息请关注PHP中文网其他相关文章!