2017-08-28 62 views
1

我试图以X, Y, Z的形式加热映射数据,其中X和Y代表X,Y坐标,Z代表点上的功率值。我已经把数据在数据帧的形式通过大熊猫平均重复的枢轴点

data = pd.DataFrame({'X':X, 'Y':Y, 'Z':Z}) 

当我尝试了data.pivot,它会给我一个重复的输入错误,因为有相同带X和Y坐标点。

我想知道是否有反正减少重复和平均的Z值,当有重复的X和Y值,因此他们可以被绘制为seaborn热图。

+0

'df.pivot_table(指数= 'X',列= 'Y',值= 'Z',aggfunc =平均,fill_value = 0)' – Wen

+0

工作,谢谢! –

回答

1

设置

X = [1, 1, 2, 2, 2] 
Y = [1, 2, 1, 2, 1] 
Z = [1, 2, 3, 4, 5] 

data = pd.DataFrame({'X':X, 'Y':Y, 'Z':Z}) 

data 

    X Y Z 
0 1 1 1 
1 1 2 2 
2 2 1 3 
3 2 2 4 
4 2 1 5 

使用groupby

data.groupby(['X', 'Y'], as_index=False).mean() 

    X Y Z 
0 1 1 1 
1 1 2 2 
2 2 1 4 
3 2 2 4