Извлеките первую строку каждой группы в кадре данных Pandas

Чтобы получить первую строку каждой группы в DataFrame pandas, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: groupbyс first()

import pandas as pd
# Create a sample DataFrame
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
        'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# Get the first row of each group
result = df.groupby('Group').first()
print(result)

Выход:

       Value
Group       
A          1
B          3
C          5

Метод 2: groupbyс apply

import pandas as pd
# Create a sample DataFrame
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
        'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# Define a function to get the first row of each group
def get_first_row(group):
    return group.iloc[0]
# Apply the function to each group
result = df.groupby('Group').apply(get_first_row)
print(result)

Выход:

Group
A        1
B        3
C        5
Name: Value, dtype: int64

Метод 3: drop_duulatesс keep='first'

import pandas as pd
# Create a sample DataFrame
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
        'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# Drop duplicates and keep the first row of each group
result = df.drop_duplicates(subset='Group', keep='first')
print(result)

Выход:

  Group  Value
0     A      1
2     B      3
4     C      5