遍历具有多个条件的Pandas数据框

时间:2019-04-23 21:54:22

标签: python pandas

此数据包含最近四个星期的数据,其想法是根据周几和时间得出的平均总交易量。例如,如果日期=星期一,时间= 1 am,则对最近4周的总交易量进行平均。

  Day of Week   Time    Total Volume
0   Monday      00:00   4
1   Monday      00:30   8
2   Monday      01:00   10
3   Monday      01:30   8
4   Monday      02:00   2

这是我尝试过的方法,但这似乎不起作用。理想情况下,我想将其放在一个函数中。还是有更好的方法来遍历此df?

for row in data:
    if row["Day of Week"] == "Monday" and row["Time"] == "00:00" :
        avg = sum(row["Total Volume"])/4
    break

1 个答案:

答案 0 :(得分:1)

在熊猫中使用循环通常很慢。通常,在整个数据框上执行简单的计算(可以利用numpy),然后选择以后要选择的日期/时间通常要快很多。

您可以尝试使用groupby函数来计算同一工作日和同一时间的4周移动量平均值。

例如:

public function index() {
    $notifications = Notification::whereUserId(Auth::user()->id)->get();

    return view('home', compact('notifications'));
}