使用pandas数据框中的两列作为行名和列名,并在表中填充第三列

时间:2019-09-18 16:01:09

标签: python pandas dataframe

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

假设这是我的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中的唯一值用作列名,然后在新df中使用col3值填充用0填充空格。例如,newdf.loc['A','a']将返回143,而newdf.loc['C','a']将是0newdf应该是5x5数据帧。

最简单的方法是执行两次for循环,但是我很好奇是否有更简单的方法。

我希望我的解释有意义,谢谢大家的帮助!

0 个答案:

没有答案