我有一个熊猫数据帧(截断),如下所示:
Name Identifiers
419 Foo {'VendorName': 'A', 'ProductName': 'Z'}
420 Foo {'VendorName': 'A', 'ProductName': 'Z'}
421 Foo {'VendorName': 'A', 'ProductName': 'Y'}
422 Foo {'VendorName': 'B', 'ProductName': 'X'}
423 Bar {'VendorName': 'A', 'ProductName': 'Z'}
使用Pandas,我想计算唯一的Name
和Identifiers
组合的数量。我有问题,因为Identifiers
是一本字典。所有字典都有相同的键,但值明显不同。在上面的例子中,有4种独特的组合。你知道吗
它不起任何作用,不管标识符是字典、字符串还是其他什么-
groupby
只是将相同的元素分组,不管它们是什么类型的元素。你知道吗更新:。。。前提是对象是可散列的。如果它们不是,例如字典、列表等,则必须首先将它们转换为任何不可变类型。例如str(如上所示,没有100%的保证,因为python3.6的插入顺序是维护的)或者,正如他在上面的评论中提出的hellpanderr,像
len(df1.groupby(lambda x: df1.Name[x].__hash__() ^ frozenset(df1.Identifiers[x].items()).__hash__()))
相关问题 更多 >
编程相关推荐