📅  最后修改于: 2023-12-03 15:41:57.662000             🧑  作者: Mango
在处理数据时,经常需要按组操作数据,然后选择每组中的一些行或列。在 Pandas 中,我们可以使用 groupby
和 apply
方法来完成这个任务。以下是一个简单的示例:
import pandas as pd
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B', 'C'],
'value': [1, 2, 3, 4, 5]
})
df.groupby('group').apply(lambda x: x.iloc[0])
这将从 df
中选择每个组的第一行:
group value
group
A A 1
B B 3
C C 5
在这个示例中,我们创建了一个包含组名和值的 DataFrame。随后,我们使用 groupby
方法将 DataFrame 按组分组。然后,我们使用 apply
方法应用一个 lambda 函数,该函数返回每个组的第一行。最后,我们得到了一个新的 DataFrame,其中包含每个组的第一行。
如果要选择每组的多行,可以将 iloc
的索引改为切片,例如 x.iloc[0:2]
将选择每个组的前两行。
总之,在 Pandas 中选择每个组的第一行是一项常见的任务,使用 groupby
和 apply
方法可以轻松完成。