|
|
|
|
|
|
|
|
|
|
|
|
|
|
print("Calculate and polt CDF...") |
|
|
print("Calculate and polt CDF...") |
|
|
# Get the frequency, PDF and CDF for each value in the series |
|
|
# Get the frequency, PDF and CDF for each value in the series |
|
|
# copy column |
|
|
|
|
|
transmission_df["gp_frequency"] = transmission_df.loc[:, "goodput"] |
|
|
|
|
|
print(transmission_df) |
|
|
|
|
|
|
|
|
|
|
|
# Frequency |
|
|
# Frequency |
|
|
transmission_df = transmission_df.groupby("gp_frequency")["gp_frequency"].agg("count").pipe(pd.DataFrame) |
|
|
|
|
|
|
|
|
stats_df = transmission_df \ |
|
|
|
|
|
.groupby("goodput") \ |
|
|
|
|
|
["goodput"] \ |
|
|
|
|
|
.agg("count") \ |
|
|
|
|
|
.pipe(pd.DataFrame) \ |
|
|
|
|
|
.rename(columns={"goodput": "frequency"}) |
|
|
|
|
|
|
|
|
# PDF |
|
|
# PDF |
|
|
transmission_df["pdf"] = transmission_df["gp_frequency"] / sum(transmission_df["gp_frequency"]) |
|
|
|
|
|
|
|
|
stats_df["pdf"] = stats_df["frequency"] / sum(stats_df["frequency"]) |
|
|
|
|
|
|
|
|
# CDF |
|
|
# CDF |
|
|
transmission_df["cdf"] = transmission_df["pdf"].cumsum() |
|
|
|
|
|
print(transmission_df) |
|
|
|
|
|
transmission_df = transmission_df.reset_index() |
|
|
|
|
|
|
|
|
stats_df["cdf"] = stats_df["pdf"].cumsum() |
|
|
|
|
|
stats_df = stats_df.reset_index() |
|
|
|
|
|
|
|
|
transmission_df.plot(x="goodput", y=["cdf"], grid=True) |
|
|
|
|
|
|
|
|
stats_df.plot(x="goodput", y=["cdf"], grid=True) |
|
|
|
|
|
|
|
|
if args.save: |
|
|
if args.save: |
|
|
plt.savefig("{}cdf_plot.pdf".format(args.save)) |
|
|
plt.savefig("{}cdf_plot.pdf".format(args.save)) |