有没有办法增加循环的速度或更快的方式来做同样的事情而不使用for循环?

时间:2017-03-27 17:45:50

标签: python pandas dataframe

我有一个庞大的数据框(400万行和25列)。我正在尝试调查2个分类列。其中一个有大约5000个级别(app_id),另一个有50个级别(app_category)。

我已经看到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()

此代码需要永远。

1 个答案:

答案 0 :(得分:3)

我认为groupby需要nunique

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