首页 > 解决方案 > 蜿蜒的数据聚合

问题描述

我正在使用 pandas 来获取用户活动的静态信息:

    import pandas as pd
    dataset = pd.read_csv('/content/drive/My Drive/Colab Notebooks/data.csv')
    # data is a table with columns: src_id, time, requests    
    # time - represents time slots(30 s), when client was active 

    g = dataset.groupby("src_ip")
    clients_statistic = pd.DataFrame(columns=["requests_count", "max_requests_in_30s", "time_slots_count"])

    clients_statistic.active_time_slots_count = g["time"].count()
    clients_statistic.requests_count = g["requests"].sum()
    clients_statistic.max_requests_in_30s = g["requests"].max()

我已经拥有最大活动的价值。现在我需要得到用户活动最大的时刻。我可以通过迭代得到它。Byt 我不认为迭代 - 是一个好主意。

标签: pythonpandas

解决方案


为此,您可以使用简单的条件

例如,您有一些src_user_ip特定用户的值max_value

要查找该用户活动最多的时刻,只需查找:

data[(data['src_id'] == src_user_ip) && (data['requests'] == max_value)]

方括号内的条件将产生真/假掩码,用于获取您想要查找的信息。

您可以在此处阅读有关熊猫条件的更多信息


推荐阅读