import pandas as pd
import datetime
pd.set_option('display.max_rows', 10)
%matplotlib inline
magnitude_mapper = {'B/s': 1,
'kB/s': 1024,
'MB/s': 1024*1024,
'GB/s': 1024*1024*1024}
magnitude_to_plot = 'GB/s'
df = pd.read_csv('iperf_results.csv', header=None, names=['date','source_ip', 'source_port', 'destination_ip',
'destination_port', 'version', 'interval',
'transfered_bytes', 'transfer_rate'])
df['date'] = pd.to_datetime(df['date'].astype(str), format="%Y%m%d%H%M%S")
df.set_index('date', inplace=True)
selected_df = df[df['interval']=='0.0-300.0']
transfer_rate = selected_df['transfer_rate']/magnitude_mapper[magnitude_to_plot]
transfer_rate_day = transfer_rate.resample('1d')
transfer_rate_hour = transfer_rate.resample('1h')
ax = transfer_rate_day.plot(figsize=(10,10), kind='bar')
ax.set_xlabel('datetime')
ax.set_ylabel('Transfer Rate %s' % magnitude_to_plot)
<matplotlib.text.Text at 0x12a551e10>
ax = transfer_rate_hour[transfer_rate_hour.index.day==6].plot(figsize=(10,10), kind='bar')
ax.set_xlabel('datetime')
ax.set_ylabel('Tranfers Rate %s' % magnitude_to_plot)
<matplotlib.text.Text at 0x12a7b9190>