我目前正在查看Reddit数据集,该数据集的两个列均包含注释和subreddit类型。我的目标是,由于行太多,因此希望将数据集限制为较小的数据。
通过查看df ['subreddit']。value_counts> 10000,我正在寻找包含超过10000条注释的subreddit。如何创建满足此条件的新数据框?我会使用loc还是建立某种if语句?
答案 0 :(得分:1)
首先,您要执行df['subreddit'].value_counts()
。这将返回一系列,您可能要执行的操作是将其转换为数据框,以便稍后执行一些过滤。
我要做的是
aux_df = df['subreddit'].value_counts().reset_index()
filtered_df = aux_df[aux_df['subreddit'] > 10000].rename(columns={'index':'subreddit','subreddit':'amount'})
(可选)与loc
:
filtered_df = aux_df.loc[aux_df['subreddit'].gt(10000)].rename(columns={'index':'subreddit','subreddit':'amount'})
基于注释,我首先创建一个包含超过10000条注释的所有子reddit的列表,上面提供了这些注释,然后仅使用这些值过滤原始数据帧:
df = df[df['subreddit'].isin(list(filtered_df['subreddit']))]