给出以下数据:

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

注意-上面具有truefalse的确切值并不那么重要,目前我不知道如何创建这种类型的表。

最佳答案

试试这个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

关于python - 在python Pandas 中创建交叉表,显示存在哪些值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61545177/

10-12 12:39
查看更多