将熊猫数据框转换为唯一元组列表的最有效方法是什么?
在下面的代码中,我试图提取一个包含所有唯一的PostalCode
和Age
的元组列表。
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)]
答案 0 :(得分:7)
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')]