如何根据日期条件在熊猫的列中找到前n行的平均值?

时间:2019-04-27 11:29:37

标签: python pandas

我有一个看起来像这样的数据集:

value1 value2 value3 date

17    21    22     2005-04-01 12:05:00

19    20    24     2005-04-01 12:06:00

16    26    23     2005-04-01 12:07:00

我需要对其进行某种方式的转换,因此,日期以.05:00结尾的每一行的值(每小时5分钟)将等于前60行的平均值。

我尝试根据日期时间使用groupby,它确实提供了每小时(00-59)的平均值,但是我需要针对我的情况进行调整。

最后,我想要这样的东西:

  value1 value2 value3 date

  17    21    22     2005-04-01 12:05:00

  19    20    24     2005-04-01 13:05:00

  16    26    23     2005-04-01 14:05:00

例如,其中17是value1列中60个先前值的平均值。

1 个答案:

答案 0 :(得分:0)

这将在60分钟的窗口中产生滚动平均值(请确保<STYLE>a{cursor:pointer;text-decoration:none;color:blue</STYLE><DIV dir="rtl" style="font-family:David,Times New Roman;font-size:130%;line-height:160%;"><B><FONT color="Maroon">א. <B><FONT color="Maroon">שוף </FONT></B></FONT></B> [אכדית: šapu דרס] </DIV> <DIV dir="rtl" style="font-family:David,Times New Roman;font-size:130%;line-height:160%;"><FONT color="blue">פָּעַל</FONT> <B><FONT color="Maroon">שָׁף </FONT></B> <FONT color="blue"> (פ"י)</FONT> דָּרַס, הִתְקִיף, מָחַץ: "הוּא יְשׁוּפְךָ רֹאשׁ וְאַתָּה תְּשׁוּפֶנּוּ עָקֵב" (בראשית ג טו). [ובהשאלה:] "אַךְ חשֶׁךְ יְשׁוּפֵנִי" (תהילים קלט יא). "תַּרְדֵּמָה תְּעוֹפְפֶנּוּ, תֹּהוּ יְשׁוּפֶנּוּ" (מלך עליון, מוסף א' ראש השנה). "שִׁפְעַת הַלַּיְלָה כִּסַּתְנוּ, שָׁפוּנוּ מַחֲשַׁכִּים" (ביאליק, דבר).<P>[לָשׁוּף אֶת-, שַׁפְתִּי, שָׁף, שָֽׁפָה; שָׁף, שָׁפָֽה; יָשׁוּף, שׁוּף!] </DIV> 列是date dtype,如果不是,请事先进行转换),然后可以使用{{ 1}}:

datetime64[ns]

有关.rolling().loc[]的更多详细信息,请参阅文档。