python - 创建一个在两列之间具有 bool 条件的表

标签 python pandas jupyter

我目前正在查看 Reddit 数据集,其中两列包含评论和 subreddit 类型。我的目标是,由于行太多,希望将数据集限制为较小的值。

通过查看 df['subreddit'].value_counts > 10000,我正在寻找具有超过 10000 条评论的 subreddits。如何创建满足此条件的新数据框?我会使用 loc 或设置某种 if 语句吗?

enter image description here

最佳答案

首先,您将执行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 条评论的所有 subreddits 的列表,然后简单地使用这些值过滤原始数据框:

df = df[df['subreddit'].isin(list(filtered_df['subreddit']))]

关于python - 创建一个在两列之间具有 bool 条件的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59078124/

相关文章:

python - 无法使用Python将PDF文件插入MySQL数据库

python - 使用Spark-MongoDB连接器时连接池已关闭

python - 新的 DataFrame 是每天的平均值

apache-spark - Livy pyspark Jypyter 与 Spark Magic 中的 Python session 错误 - 错误 repl.PythonInterpreter : Process has died with 1

python - 没有支持的颜色终端库 Python/Jupyter

python - 删除一系列 csv 列

python - 计算第一个事件和最后一个事件

python - 如果在任何其他列中有相应的 NaN,我如何以非迭代方式将 NaN 放置在 DataFrame 列中?

python - pandas 中先前日期的近期加权移动平均值

python - 是否可以将 Jupyter Notebook 的输出导出到 Excel?