python - 我需要根据列上的值从 Pandas 数据框中制作真值表

标签 python pandas dataframe

我有一个这样的数据框:

  name vals
0  foo    X
1  foo    Y
2  foo    Z
3  bar    Y
4  bar    Z
5  bar    Q

我怎样才能把它变成这样:

      Q  X  Y  Z
name            
foo   0  1  1  1
bar   1  0  1  1

第一个 df 的代码:

df = pd.DataFrame({"name": ["foo", "foo", "foo",
                              "bar", "bar", "bar"],
                        "vals": ["X", "Y", "Z",
                              "Y", "Z", "Q"],
                        })

最佳答案

国际联合会

pd.crosstab(df.name,df.vals)
Out[137]: 
vals  Q  X  Y  Z
name            
bar   1  0  1  1
foo   0  1  1  1

关于python - 我需要根据列上的值从 Pandas 数据框中制作真值表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50765199/

相关文章:

python - 在 Python 中将 JSON 转换为 XML

python - 在 pandas 的 groupby 命令后与 seaborn 一起绘制

python - pandas 中的回归列

Python difflib.Differ 与上下文差异

python - 如何操作 numpy 数组以用于 ESRI 的 arcpy.da.NumPyArrayToTable

python - JupyterLab/Python/Pandas - 比较两个数据帧

python - 打印数据框的行

arrays - 多维数组到数据框

python - 使用 rdflib 和 sparql 查询过滤 n3/turtle 文件

python - 使用 lambda 在 Pandas 中创建新变量