Python 如何通过文件处理从给定的数据帧列中获取唯一对?
dataframe中的示例数据: 对 预期的输出是来自Pair列的唯一对,如下所示: 我在尝试上述代码时得到的结果是: 独特的Python 如何通过文件处理从给定的数据帧列中获取唯一对?,python,pandas,data-science,Python,Pandas,Data Science,dataframe中的示例数据: 对 预期的输出是来自Pair列的唯一对,如下所示: 我在尝试上述代码时得到的结果是: 独特的 数据有什么问题?如果我使用手动数据,那么它会工作为什么不在数据框中您可以使用设置方法: data = (((8, 8), (8, 8), (8, 8), (8, 8), (8, 8)), ((6, 7), (7, 7), (7, 7), (7, 6), (6, 7)), ((2, 12), (12, 3), (3, 4), (4, 12), (12, 12))
数据有什么问题?如果我使用手动数据,那么它会工作为什么不在数据框中您可以使用设置方法:
data = (((8, 8), (8, 8), (8, 8), (8, 8), (8, 8)),
((6, 7), (7, 7), (7, 7), (7, 6), (6, 7)),
((2, 12), (12, 3), (3, 4), (4, 12), (12, 12)))
uniques = []
for col in data:
for unique in list(set(col)):
uniques.append(unique)
for x in uniques:
print(x)
或:
data = (((8, 8), (8, 8), (8, 8), (8, 8), (8, 8)),
((6, 7), (7, 7), (7, 7), (7, 6), (6, 7)),
((2, 12), (12, 3), (3, 4), (4, 12), (12, 12)))
uniques = []
for col in data:
uniques += [unique for unique in list(set(col))]
for x in uniques:
print(x)
可以使用set()方法从元组列表中删除重复项
>>> items = [(8, 8), (8, 8), (8, 8), (8, 8), (8, 8),
(6, 7), (7, 7), (7, 7), (7, 6), (6, 7),
(2, 12), (12, 3), (3, 4), (4, 12), (12, 12)]
>>> set_items = set(items)
>>> set_items
{(6, 7), (7, 6), (12, 12), (7, 7), (8, 8), (4, 12), (2, 12), (3, 4), (12, 3)}
你已经发布了两次完全相同的问题。我建议你删除这一条,任何想发表评论的人都应该在这里这样做:不用列表,只需使用集合。set类型强制执行唯一值,最简单的方法是
set()
。(这种方法唯一的缺点是集合中的类型需要是可散列的)它不起作用我得到了这个错误/ValueError:value的长度与索引的长度不匹配。。。
data = (((8, 8), (8, 8), (8, 8), (8, 8), (8, 8)),
((6, 7), (7, 7), (7, 7), (7, 6), (6, 7)),
((2, 12), (12, 3), (3, 4), (4, 12), (12, 12)))
uniques = []
for col in data:
for unique in list(set(col)):
uniques.append(unique)
for x in uniques:
print(x)
data = (((8, 8), (8, 8), (8, 8), (8, 8), (8, 8)),
((6, 7), (7, 7), (7, 7), (7, 6), (6, 7)),
((2, 12), (12, 3), (3, 4), (4, 12), (12, 12)))
uniques = []
for col in data:
uniques += [unique for unique in list(set(col))]
for x in uniques:
print(x)
>>> items = [(8, 8), (8, 8), (8, 8), (8, 8), (8, 8),
(6, 7), (7, 7), (7, 7), (7, 6), (6, 7),
(2, 12), (12, 3), (3, 4), (4, 12), (12, 12)]
>>> set_items = set(items)
>>> set_items
{(6, 7), (7, 6), (12, 12), (7, 7), (8, 8), (4, 12), (2, 12), (3, 4), (12, 3)}