熊猫新手,如果这是旧帽子,我很抱歉。我要完成的工作与grouping rows in list in pandas groupby中包含的内容类似,但是我有两个以上的列,并且不知道如何将所有列与分组值一起显示。这就是我要做的。在
data = [{'ip': '192.168.1.1', 'make': 'Dell', 'model': 'UltraServ9000'},
{'ip': '192.168.1.3', 'make': 'Dell', 'model': 'MiniServ'},
{'ip': '192.168.1.5', 'make': 'Dell', 'model': 'UltraServ9000'},
{'ip': '192.168.1.6', 'make': 'HP', 'model': 'Thinger3000'},
{'ip': '192.168.1.8', 'make': 'HP', 'model': 'Thinger3000'}]
In [2]: df = pd.DataFrame(data)
In [3]: df
Out[4]:
ip make model
0 192.168.1.1 Dell UltraServ9000
1 192.168.1.3 Dell MiniServ
2 192.168.1.5 Dell UltraServ9000
3 192.168.1.6 HP Thinger3000
4 192.168.1.8 HP Thinger3000
<magic>
Out[?]:
ip make model
0 192.168.1.1, 192.168.1.5 Dell UltraServ9000
1 192.168.1.3 Dell MiniServ
3 192.168.1.6, 192.168.1.8 HP Thinger3000
提前感谢:)
groupby
接受一个参数by
,通过该参数,您可以指定要操作groupby
的变量list
。所以这个问题的答案修改如下:编辑:查看您的注释:因为除了
^{pr2}$a
之外的所有列都有相同的值,所以您可以在by
参数中轻松地列出它们,因为它们不会影响结果。为了节省您的时间并防止您实际键入您可以执行以下操作的所有名称:或者,您可以通过传递一个字典来利用
agg
函数,该字典对于所有列都采用max
,而forb
将返回列表:你喜欢哪个取决于你自己,也许后者更具可读性。在
相关问题 更多 >
编程相关推荐