我在Python中使用一个视频游戏的熊猫DataFrame,每个游戏都有一种类型。我正在尝试删除任何在DataFrame中出现次数少于一定次数的类型的视频游戏,但我不知道该怎么做。我确实发现了一个StackOverflow问题,这个问题似乎是相关的,但我根本无法破译这个解决方案(可能是因为我从未听说过R,而且我对函数编程的记忆充其量也很生疏)。
帮助?
@jezael解决方案非常有效,以下是一种基于值计数的不同过滤方法:
例如,如果数据集是:
df = pd.DataFrame({'a': [1,2,3,3,1,6], 'b': [11,2,33,4,55,6]})
将计数转换并保存为字典
ount_freq = dict(df['a'].value_counts())
创建新列并复制目标列,使用新创建的列映射字典
df['count_freq'] = df['a']
df['count_freq'] = df['count_freq'].map(count_freq)
现在,我们有了一个包含count freq的新列,您现在可以定义一个阈值,并使用该列轻松进行过滤。
df[df.count_freq>1]
性能更好的解决方案应该是<code>GroupBy。使用size
将forcountper groups转换为与原始df
大小相同的Series,因此可以使用布尔索引进行筛选:
df1 = df[df.groupby("A")['A'].transform('size') > 1]
或者使用
Series.map
与Series.value_counts
:
df1 = df[df['A'].map(df['A'].value_counts()) > 1]
使用分组依据筛选器:
In [11]: df = pd.DataFrame([[1, 2], [1, 4], [5, 6]], columns=['A', 'B'])
In [12]: df
Out[12]:
A B
0 1 2
1 1 4
2 5 6
In [13]: df.groupby("A").filter(lambda x: len(x) > 1)
Out[13]:
A B
0 1 2
1 1 4
我建议阅读文档中的拆分联合收割机部分。
我想过滤熊猫DataFrame,它从DataFrame中过滤掉除值中声明的行之外的所有其他列。我如何才能做到这一点并获得预期输出。 预期输出:
我有一个熊猫表,格式如下[df],由“noc”和“year”索引。我如何访问“noc,年份组合”并将“total_Medales”条目保存到列表中? 例如:我想在1992年(即21.5)中搜索ARG的“total_medals”,并将其保存到新列表中。
我有点被困在提取一个变量的值和另一个变量的条件上。例如,以下数据帧: 当时,如何获取的值?每次提取的值时,都会得到一个对象,而不是字符串。
我正在编写一个android聊天应用程序,并试图使用自定义FirebaceRecyclerAdapter在RecyRCleView中使用Firebase数据库实现无休止的滚动。对于第一个消息加载,我使用对数据排序的查询从Firebase数据库获取数据。orderByChild()和。limitToFirst(specificCount)到目前为止还不错。但当用户滚动到最后一个可见项时,我必须获取消
如果我有一个包含以下列的数据帧: 我想能够说:这里是一个数据框,给我一个列的列表,它是类型Object还是类型DateTime? 我有一个将数字(Float64)转换为两位小数的函数,我想使用这个特定类型的dataframe列列表,并通过这个函数将它们全部转换为2dp。 也许 吧:
问题内容: 我有点被困在提取另一个变量的条件变量的值上。例如,以下数据框: 如何获得when的价值?每当我提取的值时,我都会得到一个对象,而不是字符串。 问题答案: 您可以用来获取满足条件的序列,然后获取第一个元素: