问题
我正在尝试按列day
和source
对Pandas DataFrame进行分组,然后对每个组计算第三个(timestamp
)的唯一实例数(以查找每个源每天获得了多少点击量),但是我遇到了这个错误(完整的traceback如下):
TypeError: 'method' object is not subscriptable
尝试
我的代码是:
df['timestamp_count'] = df.groupby(["source", "day"]).agg({"timestamp": "nunique"})
理想情况下,我希望得到这样的结果(包括新列timestamp_count
):
day source timestamp timestamp_count
1 facebook 2018-08-04 11:16:32.416 2
1 facebook 2019-01-03 10:25:38.216 2
1 twitter 2018-10-14 13:26:22.123 1
2 facebook 2019-01-30 12:16:32.416 1
当我运行
df.describe()
时,我看到source
是一个对象,但day
是一个整数。这可能是问题的一部分吗?看了其他问题后,似乎很有可能是这方面的问题,但没有一个问题会抛出相同的输入/错误组合。有谁能帮助 Python 新手吗?非常感谢!
Traceback
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-90-db5a002137ca> in <module>
----> 1 df['timestamp_count'] = (df.groupby["source",
"day"]).agg({"timestamp": "nunique"})
TypeError: 'method' object is not subscriptable
df.groupby(["source", "day"])
,而不是(df.groupby["day", "source"])
。你在帖子中已经修正了拼写错误,但没有意识到代码中也有错误。 - cs95