我有一个dataframe,看起来像这样:
df =
id tweet
1 a
1 b
1 b
1 a
2 d
2 a
2 a
3 b
3 b
4 a
4 b
现在我想按他们的id分组并获取他们的tweet:
df.groupby(["id"]).count()
这让我想到
df =
id count
1 4
2 3
3 2
4 2
然而,我想对数据进行二次采样,这样只有<n
tweet的用户才能保存在dataframe中,如果你有超过n
的样本(tweet),你的tweet应该被随机二次采样。我该怎么做?我已经尝试了以下方法,但它们只返回整行的n
样本…
n=3
print(data.groupby(["user_id"]).apply(lambda x: x.sample(min(n,len(x)), replace=False)).reset_index(drop=True))
print(data.groupby('user_id').sample(n, random_state=1))
1条答案
按热度按时间g6ll5ycj1#
shuffle然后
groupby().head()
: