我在一个项目上使用熊猫,该项目的数据集具有21列和近11,000行。
我创建了一个标题为name_ten_plus
的新变量,该变量使用以下代码显示已过滤为大于或等于10的列name
的计数:
name_ten_plus = df_name_data['name'].value_counts()[df_name_data['name'].value_counts() >= 10]
使用print(name_ten_plus)
,它显示至少十次出现了120个name
值。打印功能产生(例如):
Mike M 22
John J 22
Mark K 21
etc...(stacked under each other)
我一直坚持要设法找到一种创建子集的方法仅包含name_ten_plus
中名称行的原始数据集。
我已经研究了如何以几种不同的方式执行此任务,从使用查询到lambda函数,我也尝试了groupby。
我找不到适合我实际情况的示例。
任何帮助将不胜感激。在此期间,我会继续摇晃。
注意:我是编程新手,因此对任何措辞错误的语言表示歉意。这是我在该社区中的第一篇文章,但感谢以前的所有海报和响应者在这些论坛中提供的帮助和见解。
Mike M
您可以从name_ten_plus系列中获取索引,将其设为集合,并使用.isin()
来过滤原始数据帧。
name_filter_set = set(name_ten_plus.index)
filtered_df = df_name_data[df_name_data['name'].isin(name_filter_set)]