Python 有没有一种方法可以提高循环的速度,或者有一种更快的方法可以在不使用for循环的情况下完成同样的事情?

Python 有没有一种方法可以提高循环的速度,或者有一种更快的方法可以在不使用for循环的情况下完成同样的事情?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个巨大的数据框架(400万行和25列)。我试图调查两个分类列。其中一个有大约5000个级别(应用程序id),另一个有50个级别(应用程序类别) 我已经看到,对于app_id中的每个级别,app_category都有一个唯一的值。如何编写代码来证明这一点 我试过这样的方法: app_id_unique = list(train['app_id'].unique()) for unique in app_id_unique: train.loc[train['app_id'] ==

我有一个巨大的数据框架(400万行和25列)。我试图调查两个分类列。其中一个有大约5000个级别(应用程序id),另一个有50个级别(应用程序类别)

我已经看到,对于app_id中的每个级别,app_category都有一个唯一的值。如何编写代码来证明这一点

我试过这样的方法:

app_id_unique = list(train['app_id'].unique())

for unique in app_id_unique:
    train.loc[train['app_id'] == unique].app_category.nunique()
这段代码将永远使用。

我认为您需要:

train.groupby('app_id').app_category.nunique()