Python Pandas outlines for data analysis. This page outlines Pandas methods to create graphs. The data is [here][Pandas analysis].
Plotting with Pandas - IPSEC Handshake |
Source code
The following outlines the Python code used:
import numpy as np import pandas as pd import sys import matplotlib.pyplot as plt xval = 'Violent Crime'; yval = 'Murder'; file='1111' ver=pd.read_csv("city.csv") plt.xlabel(xval) plt.ylabel(yval) plt.scatter(ver[xval],ver[yval]) plt.show() f2= file+".svg" plt.savefig(f2,format='SVG') f2= file+".png" plt.savefig(f2,format='PNG')
Data
The data used is [here]
No,Mac SRC,Mac Dest,IP Src,IP Dest,IP Proto,TTL,TCP Src,TCP Dest,UDP Src,UDP Dest,Len 1,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65340,62515,58 2,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65341,500,918 3,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,500,65341,490 4,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,202 5,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,43 6,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,146 7,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,130 8,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,106 9,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,106 10,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,234 11,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,,,1514 12,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,186 13,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,1074 14,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,138 15,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,226 16,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,98 17,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,62515,62515,54 18,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,43 19,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,114 20,00:1f:3c:4f:30:1d,00:18:4d:b0:d6:8c,192.168.0.20,146.176.210.2,17,128,,,65342,4500,130 21,00:18:4d:b0:d6:8c,00:1f:3c:4f:30:1d,146.176.210.2,192.168.0.20,17,117,,,4500,65342,130
Outline
The following is an outline of the code:
import numpy as np import pandas as pd import sys import matplotlib.pyplot as plt import statsmodels.api as sm xval = '5 GCEs or more'; yval = 'Leave'; file='1111' ver=pd.read_csv("eu.csv") plt.title(yval+' v ' + xval) plt.xlabel(xval) plt.ylabel(yval) plt.scatter(ver[xval],ver[yval]) axes = plt.gca() m, b = np.polyfit(ver[xval], ver[yval], 1) X_plot = np.linspace(axes.get_xlim()[0],axes.get_xlim()[1],100) plt.plot(X_plot, m*X_plot + b, '-') if (b>0): print yval,'=',round(m,2),' x ',xval,'+',round(b,2) else: print yval,'=',round(m,2),' x ',xval,round(b,2) print sm.OLS(ver[xval], ver[yval]).fit().summary() plt.show()