ni8*_*8mr 2 python dataframe pandas
我有一个这样的数据框:
name vals
0 foo X
1 foo Y
2 foo Z
3 bar Y
4 bar Z
5 bar Q
Run Code Online (Sandbox Code Playgroud)
我怎样才能把它变成这样:
Q X Y Z
name
foo 0 1 1 1
bar 1 0 1 1
Run Code Online (Sandbox Code Playgroud)
第一个 df 的代码:
df = pd.DataFrame({"name": ["foo", "foo", "foo",
"bar", "bar", "bar"],
"vals": ["X", "Y", "Z",
"Y", "Z", "Q"],
})
Run Code Online (Sandbox Code Playgroud)
国际大学联盟
pd.crosstab(df.name,df.vals)
Out[137]:
vals Q X Y Z
name
bar 1 0 1 1
foo 0 1 1 1
Run Code Online (Sandbox Code Playgroud)