首页 > 解决方案 > 使用 pandas 数据框中的两列作为行名和列名,并用第三列填充表格

问题描述

抱歉标题令人困惑,我不确定描述问题的最佳方式是什么。但是一个例子应该会有所帮助。

假设这是我的pandas数据框

col1 = ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'E', 'E']
col2 = ['a', 'c', 'd', 'e', 'b', 'c', 'd', 'e', 'a', 'c']
col3 = [143, 62, 12, 75, 9, 71, 40, 95, 23, 13]

df = pd.DataFrame([col1,col2,col3]).transpose()
df.columns = ['col1', 'col2', 'col3']
df

  col1  col2  col3
0   A   a   143
1   A   c   62
2   B   d   12
3   B   e   75
4   C   b   9
5   C   c   71
6   D   d   40
7   D   e   95
8   E   a   23
9   E   c   13

我想使用唯一值col1作为我的新df的行名,并使用唯一值col2作为列名,然后col3在新df中填充值并用0填充空白。例如,newdf.loc['A','a']将返回143,并且newdf.loc['C','a']将是0newdf应该是一个5x5数据框 。

最简单的方法是做一个双for循环,但我很好奇是否有更简单的方法。

我希望我的解释是有道理的,并感谢大家的帮助!

标签: pythonpandasdataframe

解决方案


推荐阅读