我正在尝试熊猫的分组依据功能,特别是
gb = df.groupby('model')
gb.hist()
由于gb有50个组,因此结果非常混乱,我只想探索前5个组的结果。
我找到了如何使用groups
或选择单个组的方法get_group
(如何通过key访问datagroup的pandasgroup
),但没有找到直接选择多个组的方法。我能做的最好的事情是:
groups = dict(list(gb))
subgroup = pd.concat(groups.values()[:4])
subgroup.groupby('model').hist()
有没有更直接的方法?
你可以做类似的事情
new_gb = pandas.concat( [ gb.get_group(group) for i,group in enumerate( gb.groups) if i < 5 ] ).groupby('model')
new_gb.hist()
虽然,我会采取不同的方法。您可以使用该collections.Counter
对象快速获取组:
import collections
df = pandas.DataFrame.from_dict({'model': pandas.np.random.randint(0, 3, 10), 'param1': pandas.np.random.random(10), 'param2':pandas.np.random.random(10)})
# model param1 param2
#0 2 0.252379 0.985290
#1 1 0.059338 0.225166
#2 0 0.187259 0.808899
#3 2 0.773946 0.696001
#4 1 0.680231 0.271874
#5 2 0.054969 0.328743
#6 0 0.734828 0.273234
#7 0 0.776684 0.661741
#8 2 0.098836 0.013047
#9 1 0.228801 0.827378
model_groups = collections.Counter(df.model)
print(model_groups) #Counter({2: 4, 0: 3, 1: 3})
现在,您可以Counter
像字典一样遍历对象,并查询所需的组:
new_df = pandas.concat( [df.query('model==%d'%key) for key,val in model_groups.items() if val < 4 ] ) # for example, but you can select the models however you like
# model param1 param2
#2 0 0.187259 0.808899
#6 0 0.734828 0.273234
#7 0 0.776684 0.661741
#1 1 0.059338 0.225166
#4 1 0.680231 0.271874
#9 1 0.228801 0.827378
现在您可以使用内置pandas.DataFrame.groupby
功能
gb = new_df.groupby('model')
gb.hist()
由于model_groups
包含所有组,因此您可以根据需要从中进行选择。
如果您的model
列包含字符串值(名称或其他名称)而不是整数,则它们将全部相同-
只需将查询参数从更改为'model==%d'%key
即可'model=="%s"'%key
。
问题内容: 尝试在angularjs中选择关于对象值的多个选项 这是一个代码: 和html jsfiddle上的(非)工作示例 http://jsfiddle.net/andrejkaurin/h9fgK/ 问题答案: 您尝试使用选择倍数(如复选框列表),这有点奇怪。多选输出一个数组。您不能将ng- model放在这样的选项标签上,而是放在选择本身上。因此,由于select将输出值数组,因此您需要
问题内容: 我想根据URL字符串选择一些ID,但对于我的代码,它仅显示第一个。如果我写手册的ID是伟大的。 我有这样的网址http://www.mydomain.com/myfile.php?theurl=1,2,3,4,5(ids) 现在在myfile.php中,我有sql连接,并且: 如果我使用这个: 我得到正确的结果。现在,如果我使用下面的代码,它将无法正常工作: 有什么建议? 问题答案:
我对dataTable multiple selection with复选框有问题(如第二个复选框:http://primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf). 当我尝试在backingBean中执行一个方法时,所选的项总是具有正确的大小,但具有相同的对象。示例:我在数据表中选择三条消息:消息1、消息2和消息3
我想从选择一个菜单中选择一个自定义对象。它既不显示错误也不显示值。我该怎么办? 我的xhtml文档: 我的管理Bean类:
我是打字新手。我想从可观察的 这是我可以观察到的 预期结果: 可以不创建数组并在for循环中推送ID吗。
用于选择对象的选项 在可以修改某个对象之前,需要将其与周围的对象区分开来。只需选择对象,即可加以区分。只要选择了对象或者对象的一部分,即可对其进行编辑。 Illustrator 提供以下选择方法和工具: 隔离模式可让您快速将一个图层、子图层、路径或一组对象与文档中的其他所有图稿隔离开来。在隔离模式下,文档中所有未隔离的对象都会变暗,并且不可对其进行选择或编辑。 图层面板可让您快速而准确地选择单个或