pandas_comparisonOperators.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import pickle
  2. import pandas as pd
  3. import quandl
  4. import matplotlib.pyplot as plt
  5. from matplotlib import style
  6. style.use("seaborn")
  7. bridge_height = {
  8. "meters": [10.26, 10.31, 10.27, 10.22, 10.23, 6212.42, 10.28, 10.25, 10.31]
  9. }
  10. df = pd.DataFrame(bridge_height)
  11. df["std"] = df["meters"].rolling(window=2).std()
  12. df_std = df.describe()["meters"]["std"]
  13. df_mean = df.describe()["meters"]["mean"]
  14. # df = df[df['std'] < df_std] # sentdex methods
  15. df = df[df["meters"] < (df_mean + df_std)] # my methods
  16. print(df)
  17. df["meters"].plot()
  18. plt.show()
  19. ax1 = plt.subplot(2, 1, 1)
  20. ax2 = plt.subplot(2, 1, 2, sharex=ax1)
  21. # initial_state_data()
  22. pickle_in = open("fifty_states_pct.pickle", "rb")
  23. HPI_data = pickle.load(pickle_in)
  24. # HPI_Benchmark()
  25. pickle_in = open("us_pct.pickle", "rb")
  26. benchmark = pickle.load(pickle_in)
  27. # rolling statistics
  28. HPI_data["TX12MA"] = HPI_data["TX"].rolling(window=12, center=False).mean()
  29. HPI_data["TX12STD"] = HPI_data["TX"].rolling(window=12, center=False).std()
  30. # standard deviation is a measure of the volatility of the price
  31. HPI_data.dropna(inplace=True)
  32. TK_AK_12corr = HPI_data["TX"].rolling(window=12).corr(HPI_data["AK"])
  33. HPI_data["TX"].plot(ax=ax1, label="TX HPI")
  34. HPI_data["AK"].plot(ax=ax1, label="AK HPI")
  35. ax1.legend(loc=4)
  36. TK_AK_12corr.plot(ax=ax2, label="TK AK 12 month correlation")
  37. ax2.legend(loc=4)
  38. # HPI_data[['TX12MA','TX']].plot(ax=ax1)
  39. # HPI_data['TX12STD'].plot(ax=ax2)
  40. # plt.show()