檢索Pandas DataFrame 中每組的第一行
問題:
問題:如何
問題:如何
問能否有效地從定義分組的Pandas DataFrame 中提取每個組的第一行多列?df_grouped = df.groupby(['id', 'value'])
要基於多列檢索Pandas DataFrame 中每組的第一行:
df_first_rows = df_grouped.first()
將資料分組:使用groupby() 以所需的欄位對DataFrame 進行分組方法:
df_first_rows = df_first_rows.reset_index()
套用聚合函數:對每個組應用first()函數以獲得第一個非空元素:
df = pd.DataFrame({'id': [1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, 7], 'value': ["first", "second", "second", "first", "second", "first", "third", "fourth", "fifth", "second", "fifth", "first", "first", "second", "third", "fourth", "fifth"]})
重設索引(可選):
如果您需要將“ id」和「value」列作為單獨的列,請使用reset_index()方法:df_grouped = df.groupby(['id', 'value']) df_first_rows = df_grouped.first() df_first_rows = df_first_rows.reset_index() print(df_first_rows)
id value 0 1 first 1 2 first 2 3 first 3 4 second 4 5 first 5 6 first 6 7 fourth
以上是如何基於多列檢索 Pandas DataFrame 中每個組的第一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!