我想在PANDAS datafram中计算每个主题的观察数

2024-04-28 11:02:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我对使用PANDAS和python还很陌生。在

我有一个分层的数据集,有几个受试者,每个人都有一些观察结果。总数据框大约有50万行。在

我想计算观察数。。。在

## toy problem

d = {'one' : Series(['a', 'a', 'a', 'b', 'b', 'b'], index = [0,1,2,3,4,5]),
     'two' : Series([1.1, 2.5, 3.3, 2.5, 3.3, 9.5], index = [0,1,2,3,4,5])}
df = DataFrame(d)

for i in df.one.unique():
    for j in range(0,len(df[df.one == i])):
        print j

所以我想为每一行指定一列j。我计算j没有问题,但我不知道如何分配它。我尝试过使用iloc,这是难以置信的慢,或者写一个列表,然后加入到df中,也非常慢(目前运行超过30分钟,正在计数…)。我知道python是处理向量化问题的最佳方法,但我无法为这种情况想出向量解决方案。在

最好的办法是什么?在R中这真的很简单和快速。我目前正在迁移到Python&PANDAS,期望它更快,但这里似乎不是这样。在

有什么建议吗?在


Tags: 数据indataframepandasdfforindex分层