如何遍历巨大的数据框架并创建Userobjects?

时间:2019-02-02 13:01:03

标签: python-3.x loops dataframe object iteration

我目前面临的挑战anaylse具有这种结构的一个巨大的数据帧

userId  eventTime   eventType   groupId gender  
0   35  1   1   A   m   
1   35  1   2   A   m   
2   35  1   1   A   m   

为了获得相应的度量我希望分析我创建了一个Userobject这样。

  class User:
        userId: int
        gender: int
        groupId: int
        value1: float
        value2: float

我可以在下面申请并填写该对象。如上所示,包含事件列表的“我的数据”框名为Data_mod:

user0 = User() 
user0.userId = Data_mod.iloc[0]['userId']
user0.gender = Data_mod.iloc[user0.userId]['gender'] 
user0.groupId = Data_mod.iloc[user0.userId]['groupId'] 
user0.value1 = Data_mod[(Data_mod["userId"] == user0.userId) & (Data_mod["eventType"] == 1)]['eventTime'].sum()
user0.value2 = Data_mod[(Data_mod["userId"] == user0.userId) & (Data_mod["eventType"] == 2)]['eventTime'].sum()

我现在如何遍历Dataframe Data_mod中的所有userId并为我在此Data框架中拥有的每个UserId构建这样的用户对象?

我不知道如何循环执行。我的目标当然是拥有这样的对象:

user0
user1
user2
user3

当然可以像这样开始在数据帧上进行迭代

for index, row in Data_mod.iterrows():

但是我如何在循环中处理这些对象?我需要这样的命名

user<row_number> = User()

,然后尝试做分析他们,通过汇总和他们做opertions以评估它们所包含的值。

谁能给我一个提示,如何对这种用户对象进行迭代? 我将衷心感谢您的帮助。

最好的问候,约翰

0 个答案:

没有答案