簡體   English   中英

了解如何將 lambda 用於熊貓的 groupby.apply

[英]Understanding how to use lambda for panda's groupby.apply

有人可以解釋下未知的 function lambda 是如何知道使用 label 'Year' 列的嗎? 我試圖改編這篇文章中的一種解決方案:

這是我對該帖子感興趣的答案的圖像: https://stackoverflow.com/questions/22691010/how-to-print-a-groupby-object#

並想使 lambda 適應我的以下代碼:

 report = pd.DataFrame([ [2009, 10, 'Einstein'], [2010, 20, 'Einstein'], [2010, 30, 'Einstein'], [2009, 10, 'Planck'], [2009, 20, 'Planck'], [2009, 30, 'Planck']], index = ['r','o','y','g','b','i'], columns = ['Year', 'Points', 'Username']) grouped = report.groupby('Year') grouped = grouped.apply(lambda a: a[:]) grouped

Output:

在此處輸入圖像描述

我正在嘗試學習如何在這種情況下 lambda 的 function 是什么。 任何幫助,將不勝感激。

lambda function 在這里用作另一個 ZC1C425268E68385D1CAB41 內部的匿名 function lambda a: a[:]是輸入一個可迭代類型 a 的 function 和 output a[:] :a 的每個元素。

grouped = report.groupby('Year')返回一個 groupby object,其中包含有關按年份形成的組的信息。

grouped = grouped.apply(lambda a: a[:])通過 object 匿名 function lambda 應用於您的組的每個“組”。

因此,對於共享同一年的每一組數據,您將返回同一組的所有數據。 這就是您最終以 dataframe 作為索引年份 (groupby('Year')) 的方式,其中包含每年的所有相應數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM