将pandas数据框转换为唯一元组列表

时间:2019-11-25 09:51:59

标签: python pandas dataframe tuples

将熊猫数据框转换为唯一元组列表的最有效方法是什么? 在下面的代码中,我试图提取一个包含所有唯一的PostalCodeAge的元组列表。

from typing import NamedTuple, Sequence, Tuple

import pandas as pd

data = [["tom", 10, "ab 11"], ["nick", 14, "ab 22"], ["juli", 10, "ab 11"]]
people = pd.DataFrame(data, columns=["Name", "Age", "PostalCode"])

subset = pd.unique(people[["PostalCode", "Age"]].values.ravel())

# This produce an error
output = list(subset.itertuples(index=False))

# Expected output
# [('ab 11', 10), ('ab 22', 14)]

2 个答案:

答案 0 :(得分:7)

尝试Groupby.groups

list(people.groupby(['PostalCode', 'Age']).groups)

[出]

[('ab 11', 10), ('ab 22', 14)]

答案 1 :(得分:3)

我认为您需要:

xyz = list(set((i,j) for i,j in zip(people["Age"], people["PostalCode"])))

print(xyz)

输出:

[(10, 'ab 11'), (14, 'ab 22')]