使用winpython3.4,matplotlib1.3.1,我从mysql数据库中提取数据帧的数据。我从查询中得到的原始数据帧如下所示:
wafer_number test_type test_pass x_coord y_coord test_el_id wavelength intensity
0 HT2731 T2 1 38 54 24 288.68 4413
1 HT2731 T2 1 40 54 25 257.42 2595
2 HT2731 T2 1 50 54 28 300.00 2836
3 HT2731 T2 1 52 54 29 300.00 2862
4 HT2731 T2 1 54 54 30 300.00 3145
5 HT2731 T2 1 56 54 31 300.00 2804
6 HT2731 T2 1 58 54 32 255.69 2803
7 HT2731 T2 1 59 54 33 257.23 2991
8 HT2731 T2 1 60 54 34 262.45 3946
9 HT2731 T2 1 62 54 35 291.84 9398
10 HT2801 T2 1 38 55 54 288.68 4125
11 HT2801 T2 1 38 56 55 265.25 4258
我需要的是在x轴和y轴上分别绘制波长和强度,每个不同的晶圆编号作为它自己的系列。我需要保留x_coord和y_coord变量,这样我就可以在以后通过单击它们并将它们添加到列表中来识别突出的数据点。等我把这些东西画好后我会把它弄出来的。在
我认为使用内置的dataframes绘图功能需要执行pivot_table方法
^{pr2}$在我的数据帧上,然后将数据帧转换为:
wafer_number HT2478 HT2625 HT2644 HT2671 HT2673 HT2719 HT2731 HT2796 HT2801
x_coord y_coord wavelength
27 35 289.07 NaN NaN NaN 5137 NaN NaN NaN NaN NaN
36 250.88 4585 NaN NaN NaN NaN NaN NaN NaN NaN
37 260.90 NaN NaN NaN NaN 4270 NaN NaN NaN NaN
38 288.87 NaN NaN NaN 8191 NaN NaN NaN NaN NaN
40 259.74 NaN NaN NaN NaN 17027 NaN NaN NaN NaN
41 259.74 NaN NaN NaN NaN 18742 NaN NaN NaN NaN
42 259.74 NaN NaN NaN NaN 34098 NaN NaN NaN NaN
28 34 268.27 NaN NaN NaN NaN 2080 NaN NaN NaN NaN
38 257.42 7727 NaN NaN NaN NaN NaN NaN NaN NaN
44 260.13 NaN NaN NaN NaN 55329 NaN NaN NaN NaN
但现在索引是x,y坐标和波长的多重索引,所以当我打印wl vs列时
plt.scatter(wl_vs_int.wavelength, wl_vs_int.columns)
我得到属性错误:
AttributeError: 'DataFrame' object has no attribute 'wavelength'
我尝试将dataframe重新索引回默认索引,但结果仍然是“dataframe”对象没有“wavelength”属性。在
必须有更好的方法来重新排列数据帧,以便通过内置的数据帧绘制功能实现这一点,或者只绘制选定列与其他列(列是动态的)。我对python和pandas显然是新手,但我花了好几天的时间尝试用不同的方法来做这件事,但没有结果。任何帮助都将不胜感激。谢谢。在
分别在x轴和y轴上绘制波长和强度 每个不同的晶片编号都是自己的系列,一个可以分组 数据写入
wafer_number
,然后处理每组相关问题 更多 >
编程相关推荐