如何使用pandas.DataFrame列作为索引,列和值?

Jak*_*ake 5 python indexing pandas

我似乎无法弄清楚如何以可搜索的方式提出这个问题,但我觉得这是一个简单的问题.

给定一个pandas Dataframe对象,我想使用一列作为索引,一列作为列,第三列作为值.

例如:

   a   b   c
0  1  dog  2 
1  1  cat  1
2  1  rat  6
3  2  cat  2
4  3  dog  1
5  3  cat  4
Run Code Online (Sandbox Code Playgroud)

我想将列'a'用作我的索引值,列'b'用作我的列,列'c'用作每行/列的值,并用0填充缺失值(如果可能).例如...

   dog   cat   rat
1   2     1     6
2   0     2     0
3   1     4     0
Run Code Online (Sandbox Code Playgroud)

这将是'a'乘'b'矩阵,'c'作为填充值

jrj*_*rjc 3

它(几乎)完全按照你的说法:

df.pivot_table(index="a", columns="b", values="c", fill_value=0)
Run Code Online (Sandbox Code Playgroud)

给出

b  cat  dog  rat
a               
1    1    2    6
2    2    0    0
3    4    1    0
Run Code Online (Sandbox Code Playgroud)

华泰

  • 您也可以传递“fill_value=0”来填充缺失值。 (3认同)