[英]Create cross-tabulation in python pandas showing which values are present
給出以下數據:
pd.DataFrame(dict(
name = ['a', 'a', 'a', 'b', 'b', 'b'],
vals = [1, 2 , 3, 99, 3, 4]
))
看起來像:
name vals
0 a 1
1 a 2
2 a 3
3 b 99
4 b 3
5 b 4
我想知道如何創建以下內容:
1 2 3 4 99
a true true true false false
b false false true false true
注意 - 上面的true
和false
的確切值並不那么重要,我現在不知道如何創建這種類型的表。
試試這個crosstab
s=pd.crosstab(df.name,df.vals).astype(bool)
Out[38]:
vals 1 2 3 4 99
name
a True True True False False
b False False True True True
也可以get_dummies
然后沿names
聚合
pd.get_dummies(df.set_index('name').vals).any(level=0)
#.max(level=0) for 1/0 dummies
#.sum(level=0) for counts
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.