| print(transmission_df) | print(transmission_df) | ||||
| # create timedelta range with maximum timedelta | |||||
| #time_range = pd.date_range(transmission_df.index.min(), transmission_df.index.max(), freq="{}s".format(args.interval)) | |||||
| # create bins by pd.cut, aggregate sum | |||||
| #transmission_df["goodput"] = transmission_df.groupby(pd.cut(transmission_df.index, bins=time_range, labels=time_range[:-1]))["payload_size"].sum().reset_index()["payload_size"] | |||||
| transmission_df["goodput"] = transmission_df["payload_size"].rolling("{}s".format(args.interval)).sum() | |||||
| # key for columns and level for index | |||||
| transmission_df["goodput"] = transmission_df.groupby(pd.Grouper(level="datetime", freq="{}s".format(args.interval))).sum() | |||||
| #transmission_df["goodput"] = transmission_df["payload_size"].rolling("{}s".format(args.interval)).sum() | |||||
| transmission_df["goodput"] = transmission_df["goodput"].apply( | transmission_df["goodput"] = transmission_df["goodput"].apply( | ||||
| lambda x: ((x * 8) / args.interval) / 10**6 | lambda x: ((x * 8) / args.interval) / 10**6 | ||||
| ) | ) | ||||
| if args.save: | if args.save: | ||||
| plt.savefig("{}{}_cdf_plot.pdf".format(args.save, "goodput")) | plt.savefig("{}{}_cdf_plot.pdf".format(args.save, "goodput")) | ||||
| else: | else: | ||||
| plt.show() | |||||
| plt.show() | |||||
| print(transmission_df) |