![](/img/trans.png)
[英]Get List of Unique String values per column in a dataframe using python
[英]group by unique column values in list using Python
您可以使用operator.itemgetter()提取感兴趣的字段(字段3是D列)。 然后使用itertools.groupby()提取具有公共密钥的组:
>>> from operator import itemgetter
>>> from itertools import groupby
>>> data = [ [1, 11,'n1','d1'],
[2, 22, 'n2', 'd1'],
[3, 33, 'n3', 'd2'],
]
>>> data.sort(key=itemgetter(3)) # sort by column d
>>> result = []
>>> for k, groups in groupby(data, key=itemgetter(3)):
entry = [group[:-1] for group in groups]
result.append((k, entry))
>>> result
[('d1', [[1, 11, 'n1'], [2, 22, 'n2']]), ('d2', [[3, 33, 'n3']])]
如果只想打印d1
组,则代码更简单:
>>> for k, groups in groupby(data, key=itemgetter(3)):
if k == 'd1':
print([group[:-1] for group in groups])
[[1, 11, 'n1'], [2, 22, 'n2']]
代码[group[:-1] for group in groups]
使用切片和列表推导来删除键字段,如预期输出所示。
希望这可以帮助 :-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.