我有一个数据帧,看起来像这样:
revisionId itemId wikidataType
1 307190482 23 Q5
6 305019084 80 Q5
8 303692414 181 Q5
9 306600439 192 Q5
11 294597048 206 Q5
在完整的数据帧中,wikidataType
列中存在100个这样的不同值。这是一个很大的数据帧,因此我想将它限制为每wikidataType
1000条记录,并使用以下方法随机选择它:
df = df.groupby('wikidataType', group_keys=False).apply(lambda x: x.sample(1000)
if len(x) > 1000 else x.sample(1000, replace=True))
如果某些类型没有1000条记录,那么我希望使用“with replacement”策略使所有wikidataTypes
的记录数相同。因此,我使用replace=True
。例如,如果wikidataType
Q5
我有900条记录,那么我想从这900条记录中随机重复一些100条记录。最后我会有900条不同的记录,其中100条重复。我使用了x.sample(1000, replace=True)
,但是对于类型Q5
,这只给了我4条不同的记录,每一条记录都重复了很多次,而实际上我有1000条不同的记录。我如何解决这个问题?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐