Python科学计算-Pandas(上)
Author:Xie Zhong-zhao
Date: 2017/8/8
Running Environment: Python3.5
1、Pandas Basics - Data Analysis with Python and Pandas Tutorial
import pandas as pd
web_stats = {'Day':[1,2,3,4,5,6],
'Visitors':[43,34,65,56,29,76],
'Bounce Rate':[65,67,78,65,45,52]}
df = pd.DataFrame(web_stats)
print(df.head())
print("\n")
print(df.tail())
print("\n")
print(df.tail(2))
print("\n")
#df.set_index('Day', inplace=True)
df = df.set_index('Day')
print(df)
Bounce Rate Day Visitors
0 65 1 43
1 67 2 34
2 78 3 65
3 65 4 56
4 45 5 29
Bounce Rate Day Visitors
1 67 2 34
2 78 3 65
3 65 4 56
4 45 5 29
5 52 6 76
Bounce Rate Day Visitors
4 45 5 29
5 52 6 76
Bounce Rate Visitors
Day
1 65 43
2 67 34
3 78 65
4 65 56
5 45 29
6 52 76
import matplotlib.pyplot as plt
from matplotlib import style
style.use('fivethirtyeight')
print(df['Visitors'], df['Bounce Rate'])
df['Visitors'].plot()
plt.show()
df['Bounce Rate'].plot()
plt.show()
df.plot()
plt.show()
print(df[['Visitors','Bounce Rate']])
Day
1 43
2 34
3 65
4 56
5 29
6 76
Name: Visitors, dtype: int64 Day
1 65
2 67
3 78
4 65
5 45
6 52
Name: Bounce Rate, dtype: int64
Visitors Bounce Rate
Day
1 43 65
2 34 67
3 65 78
4 56 65
5 29 45
6 76 52
2、IO Basics - Data Analysis with Python and Pandas Tutorial
#import pandas as pd
#import quandl
#df = quandl.get("ZILLOW/Z77006_ZRIFAH")
#print(df.head())
#import matplotlib.pyplot as plt
#from matplotlib import style
#plt.figure(figsize=(8,4))
#style.use('fivethirtyeight')
#print(df['Value'])
#df['Value'].plot()
#plt.show()
import pandas as pd
df = pd.read_csv('ZILLOW-N15727_PLPRCO.csv')
print(df.head())
df.set_index('Date', inplace=True)
df.to_csv('newcsv2.csv') #regenerating new csv file
Date Value
0 2017-06-30 8.928571
1 2017-05-31 1.886792
2 2017-04-30 8.474576
3 2017-03-31 2.898551
4 2017-02-28 4.615385
df = pd.read_csv('newcsv2.csv')
print(df.head())
df = pd.read_csv('newcsv2.csv', index_col=0)
print(df.head())
Date Value
0 2017-06-30 8.928571
1 2017-05-31 1.886792
2 2017-04-30 8.474576
3 2017-03-31 2.898551
4 2017-02-28 4.615385
Value
Date
2017-06-30 8.928571
2017-05-31 1.886792
2017-04-30 8.474576
2017-03-31 2.898551
2017-02-28 4.615385
df.columns = ['Austin_HPI']
print(df.head())
Austin_HPI
Date
2017-06-30 8.928571
2017-05-31 1.886792
2017-04-30 8.474576
2017-03-31 2.898551
2017-02-28 4.615385
df.to_csv('newcsv3.csv')
df.to_csv('newcsv4.csv', header=False)
print(df.head())
Austin_HPI
Date
2017-06-30 8.928571
2017-05-31 1.886792
2017-04-30 8.474576
2017-03-31 2.898551
2017-02-28 4.615385
df = pd.read_csv('newcsv4.csv', names=['Date', 'Austin_HPI'])
print(df.head())
Date Austin_HPI
0 2017-06-30 8.928571
1 2017-05-31 1.886792
2 2017-04-30 8.474576
3 2017-03-31 2.898551
4 2017-02-28 4.615385
df.to_html('example.html') #regenerating new html file
df = pd.read_csv('newcsv4.csv',names=['Date','Austin_HPI'])
print(df.head())
Date Austin_HPI
0 2017-06-30 8.928571
1 2017-05-31 1.886792
2 2017-04-30 8.474576
3 2017-03-31 2.898551
4 2017-02-28 4.615385
df.rename(columns={'Austin_HPI':'House_Prices'}, inplace=True)
print(df.head())
Date House_Prices
0 2017-06-30 8.928571
1 2017-05-31 1.886792
2 2017-04-30 8.474576
3 2017-03-31 2.898551
4 2017-02-28 4.615385
3、Building dataset - Data Analysis with Python and Pandas Tutorial
import pandas as pd
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
print(fiddy_states)
[ 0 1 2 3
0 Abbreviation State Name Capital Became a State
1 AL Alabama Montgomery December 14, 1819
2 AK Alaska Juneau January 3, 1959
3 AZ Arizona Phoenix February 14, 1912
4 AR Arkansas Little Rock June 15, 1836
5 CA California Sacramento September 9, 1850
6 CO Colorado Denver August 1, 1876
7 CT Connecticut Hartford January 9, 1788
8 DE Delaware Dover December 7, 1787
9 FL Florida Tallahassee March 3, 1845
10 GA Georgia Atlanta January 2, 1788
11 HI Hawaii Honolulu August 21, 1959
12 ID Idaho Boise July 3, 1890
13 IL Illinois Springfield December 3, 1818
14 IN Indiana Indianapolis December 11, 1816
15 IA Iowa Des Moines December 28, 1846
16 KS Kansas Topeka January 29, 1861
17 KY Kentucky Frankfort June 1, 1792
18 LA Louisiana Baton Rouge April 30, 1812
19 ME Maine Augusta March 15, 1820
20 MD Maryland Annapolis April 28, 1788
21 MA Massachusetts Boston February 6, 1788
22 MI Michigan Lansing January 26, 1837
23 MN Minnesota Saint Paul May 11, 1858
24 MS Mississippi Jackson December 10, 1817
25 MO Missouri Jefferson City August 10, 1821
26 MT Montana Helena November 8, 1889
27 NE Nebraska Lincoln March 1, 1867
28 NV Nevada Carson City October 31, 1864
29 NH New Hampshire Concord June 21, 1788
30 NJ New Jersey Trenton December 18, 1787
31 NM New Mexico Santa Fe January 6, 1912
32 NY New York Albany July 26, 1788
33 NC North Carolina Raleigh November 21, 1789
34 ND North Dakota Bismarck November 2, 1889
35 OH Ohio Columbus March 1, 1803
36 OK Oklahoma Oklahoma City November 16, 1907
37 OR Oregon Salem February 14, 1859
38 PA Pennsylvania Harrisburg December 12, 1787
39 RI Rhode Island Providence May 19, 1790
40 SC South Carolina Columbia May 23, 1788
41 SD South Dakota Pierre November 2, 1889
42 TN Tennessee Nashville June 1, 1796
43 TX Texas Austin December 29, 1845
44 UT Utah Salt Lake City January 4, 1896
45 VT Vermont Montpelier March 4, 1791
46 VA Virginia Richmond June 25, 1788
47 WA Washington Olympia November 11, 1889
48 WV West Virginia Charleston June 20, 1863
49 WI Wisconsin Madison May 29, 1848
50 WY Wyoming Cheyenne July 10, 1890, 0 \
0 v t e Political divisions of the United States...
1 v t e Political divisions of the United States
2 NaN
3 States
4 NaN
5 National capital
6 NaN
7 Large islands
8 NaN
9 Small islands
1 2 3 \
0 v t e Political divisions of the United States NaN States
1 NaN NaN NaN
2 NaN NaN NaN
3 Alabama · Alaska · Arizona · Arkansas · Califo... NaN NaN
4 NaN NaN NaN
5 District of Columbia NaN NaN
6 NaN NaN NaN
7 American Samoa · Guam · Northern Mariana Islan... NaN NaN
8 NaN NaN NaN
9 Baker Island · Howland Island · Jarvis Island ... NaN NaN
4 5 6 \
0 Alabama · Alaska · Arizona · Arkansas · Califo... NaN National capital
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
6 NaN NaN NaN
7 NaN NaN NaN
8 NaN NaN NaN
9 NaN NaN NaN
7 8 9 \
0 District of Columbia NaN Large islands
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
6 NaN NaN NaN
7 NaN NaN NaN
8 NaN NaN NaN
9 NaN NaN NaN
10 11 12 \
0 American Samoa · Guam · Northern Mariana Islan... NaN Small islands
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
6 NaN NaN NaN
7 NaN NaN NaN
8 NaN NaN NaN
9 NaN NaN NaN
13
0 Baker Island · Howland Island · Jarvis Island ...
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN , 0 \
0 v t e Political divisions of the United States
1 NaN
2 States
3 NaN
4 National capital
5 NaN
6 Large islands
7 NaN
8 Small islands
1
0 NaN
1 NaN
2 Alabama · Alaska · Arizona · Arkansas · Califo...
3 NaN
4 District of Columbia
5 NaN
6 American Samoa · Guam · Northern Mariana Islan...
7 NaN
8 Baker Island · Howland Island · Jarvis Island ... ]
for abbv in fiddy_states[0][0][1:]:
print(abbv)
AL
AK
AZ
AR
CA
CO
CT
DE
FL
GA
HI
ID
IL
IN
IA
KS
KY
LA
ME
MD
MA
MI
MN
MS
MO
MT
NE
NV
NH
NJ
NM
NY
NC
ND
OH
OK
OR
PA
RI
SC
SD
TN
TX
UT
VT
VA
WA
WV
WI
WY
for abbv in fiddy_states[0][0][1:]:
#print(abbv)
print("FMAC/HPI_"+str(abbv))
FMAC/HPI_AL
FMAC/HPI_AK
FMAC/HPI_AZ
FMAC/HPI_AR
FMAC/HPI_CA
FMAC/HPI_CO
FMAC/HPI_CT
FMAC/HPI_DE
FMAC/HPI_FL
FMAC/HPI_GA
FMAC/HPI_HI
FMAC/HPI_ID
FMAC/HPI_IL
FMAC/HPI_IN
FMAC/HPI_IA
FMAC/HPI_KS
FMAC/HPI_KY
FMAC/HPI_LA
FMAC/HPI_ME
FMAC/HPI_MD
FMAC/HPI_MA
FMAC/HPI_MI
FMAC/HPI_MN
FMAC/HPI_MS
FMAC/HPI_MO
FMAC/HPI_MT
FMAC/HPI_NE
FMAC/HPI_NV
FMAC/HPI_NH
FMAC/HPI_NJ
FMAC/HPI_NM
FMAC/HPI_NY
FMAC/HPI_NC
FMAC/HPI_ND
FMAC/HPI_OH
FMAC/HPI_OK
FMAC/HPI_OR
FMAC/HPI_PA
FMAC/HPI_RI
FMAC/HPI_SC
FMAC/HPI_SD
FMAC/HPI_TN
FMAC/HPI_TX
FMAC/HPI_UT
FMAC/HPI_VT
FMAC/HPI_VA
FMAC/HPI_WA
FMAC/HPI_WV
FMAC/HPI_WI
FMAC/HPI_WY
4、Concatenating and Appending dataframes - Data Analysis with Python and Pandas Tutorial
import pandas as pd
df1 = pd.DataFrame({'HPI':[80,85,88,85],
'Int_rate':[2, 3, 2, 2],
'US_GDP_Thousands':[50, 55, 65, 55]},
index = [2001, 2002, 2003, 2004])
df2 = pd.DataFrame({'HPI':[80,85,88,85],
'Int_rate':[2, 3, 2, 2],
'US_GDP_Thousands':[50, 55, 65, 55]},
index = [2005, 2006, 2007, 2008])
df3 = pd.DataFrame({'HPI':[80,85,88,85],
'Int_rate':[2, 3, 2, 2],
'Low_tier_HPI':[50, 52, 50, 53]},
index = [2001, 2002, 2003, 2004])
concat = pd.concat([df1,df2])
print(concat)
HPI Int_rate US_GDP_Thousands
2001 80 2 50
2002 85 3 55
2003 88 2 65
2004 85 2 55
2005 80 2 50
2006 85 3 55
2007 88 2 65
2008 85 2 55
concat = pd.concat([df1,df2,df3])
print(concat)
HPI Int_rate Low_tier_HPI US_GDP_Thousands
2001 80 2 NaN 50.0
2002 85 3 NaN 55.0
2003 88 2 NaN 65.0
2004 85 2 NaN 55.0
2005 80 2 NaN 50.0
2006 85 3 NaN 55.0
2007 88 2 NaN 65.0
2008 85 2 NaN 55.0
2001 80 2 50.0 NaN
2002 85 3 52.0 NaN
2003 88 2 50.0 NaN
2004 85 2 53.0 NaN
df4 = df1.append(df2)
print(df4)
HPI Int_rate US_GDP_Thousands
2001 80 2 50
2002 85 3 55
2003 88 2 65
2004 85 2 55
2005 80 2 50
2006 85 3 55
2007 88 2 65
2008 85 2 55
df4 = df1.append(df3)
print(df4)
HPI Int_rate Low_tier_HPI US_GDP_Thousands
2001 80 2 NaN 50.0
2002 85 3 NaN 55.0
2003 88 2 NaN 65.0
2004 85 2 NaN 55.0
2001 80 2 50.0 NaN
2002 85 3 52.0 NaN
2003 88 2 50.0 NaN
2004 85 2 53.0 NaN
s = pd.Series([80,2,50], index=['HPI','Int_rate','US_GDP_Thousands'])
print(s)
df4 = df1.append(s, ignore_index=True)
print(df4)
HPI 80
Int_rate 2
US_GDP_Thousands 50
dtype: int64
HPI Int_rate US_GDP_Thousands
0 80 2 50
1 85 3 55
2 88 2 65
3 85 2 55
4 80 2 50
5、Joining and Merging Dataframes - Data Analysis with Python and Pandas Tutorial
import pandas as pd
df1 = pd.DataFrame({'HPI':[80,85,88,85],
'Int_rate':[2, 3, 2, 2],
'US_GDP_Thousands':[50, 55, 65, 55]},
index = [2001, 2002, 2003, 2004])
df2 = pd.DataFrame({'HPI':[80,85,88,85],
'Int_rate':[2, 3, 2, 2],
'US_GDP_Thousands':[50, 55, 65, 55]},
index = [2005, 2006, 2007, 2008])
df3 = pd.DataFrame({'HPI':[80,85,88,85],
'Unemployment':[7, 8, 9, 6],
'Low_tier_HPI':[50, 52, 50, 53]},
index = [2001, 2002, 2003, 2004])
print(pd.merge(df1,df3, on='HPI'))
HPI Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
0 80 2 50 50 7
1 85 3 55 52 8
2 85 3 55 53 6
3 85 2 55 52 8
4 85 2 55 53 6
5 88 2 65 50 9
print(pd.merge(df1,df2, on=['HPI','Int_rate']))
HPI Int_rate US_GDP_Thousands_x US_GDP_Thousands_y
0 80 2 50 50
1 85 3 55 55
2 88 2 65 65
3 85 2 55 55
df4 = pd.merge(df1,df3, on='HPI')
df4.set_index('HPI', inplace=True)
print(df4)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
HPI
80 2 50 50 7
85 3 55 52 8
85 3 55 53 6
85 2 55 52 8
85 2 55 53 6
88 2 65 50 9
df1.set_index('HPI', inplace=True)
df3.set_index('HPI', inplace=True)
joined = df1.join(df3)
print(joined)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
HPI
80 2 50 50 7
85 3 55 52 8
85 3 55 53 6
85 2 55 52 8
85 2 55 53 6
88 2 65 50 9
df1 = pd.DataFrame({
'Int_rate':[2, 3, 2, 2],
'US_GDP_Thousands':[50, 55, 65, 55],
'Year':[2001, 2002, 2003, 2004]
})
df3 = pd.DataFrame({
'Unemployment':[7, 8, 9, 6],
'Low_tier_HPI':[50, 52, 50, 53],
'Year':[2001, 2003, 2004, 2005]})
merged = pd.merge(df1,df3, on='Year')
print(merged)
Int_rate US_GDP_Thousands Year Low_tier_HPI Unemployment
0 2 50 2001 50 7
1 2 65 2003 52 8
2 2 55 2004 50 9
merged = pd.merge(df1,df3, on='Year')
merged.set_index('Year', inplace=True)
print(merged)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001 2 50 50 7
2003 2 65 52 8
2004 2 55 50 9
merged = pd.merge(df1,df3, on='Year', how='left')
print(merged)
merged.set_index('Year', inplace=True)
print(merged)
Int_rate US_GDP_Thousands Year Low_tier_HPI Unemployment
0 2 50 2001 50.0 7.0
1 3 55 2002 NaN NaN
2 2 65 2003 52.0 8.0
3 2 55 2004 50.0 9.0
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001 2 50 50.0 7.0
2002 3 55 NaN NaN
2003 2 65 52.0 8.0
2004 2 55 50.0 9.0
merged = pd.merge(df1,df3, on='Year', how='right')
merged.set_index('Year', inplace=True)
print(merged)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001.0 2.0 50.0 50 7
2003.0 2.0 65.0 52 8
2004.0 2.0 55.0 50 9
2005.0 NaN NaN 53 6
merged = pd.merge(df1,df3, on='Year', how='outer')
merged.set_index('Year', inplace=True)
print(merged)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001.0 2.0 50.0 50.0 7.0
2002.0 3.0 55.0 NaN NaN
2003.0 2.0 65.0 52.0 8.0
2004.0 2.0 55.0 50.0 9.0
2005.0 NaN NaN 53.0 6.0
merged = pd.merge(df1,df3, on='Year', how='inner')
merged.set_index('Year', inplace=True)
print(merged)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001 2 50 50 7
2003 2 65 52 8
2004 2 55 50 9
df1.set_index('Year', inplace=True)
df3.set_index('Year', inplace=True)
joined = df1.join(df3, how="outer")
print(joined)
Int_rate US_GDP_Thousands Low_tier_HPI Unemployment
Year
2001 2.0 50.0 50.0 7.0
2002 3.0 55.0 NaN NaN
2003 2.0 65.0 52.0 8.0
2004 2.0 55.0 50.0 9.0
2005 NaN NaN 53.0 6.0
6、Pickling - Data Analysis with Python and Pandas Tutorial
import quandl
import pandas as pd
# Not necessary, I just do this so I do not show my API key.
#api_key = open('quandlapikey.txt','r').read()
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
#print(fiddy_states)
main_df = pd.DataFrame()
for abbv in fiddy_states[0][0][1:]:
#print(abbv)
query = "FMAC/HPI_"+str(abbv)
df = quandl.get(query, authtoken='n75cJa9b8mNzuVz65S1S')
df.columns = [str(abbv)]
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
print(main_df.head())
AL AK AZ AR CA CO \
Date
1975-01-31 35.453384 34.385997 28.940587 36.845816 15.696667 19.647452
1975-02-28 35.666686 34.910701 29.476038 37.185864 15.747528 19.875307
1975-03-31 35.915007 35.446987 29.980514 37.482491 15.936916 20.102116
1975-04-30 36.216014 36.002154 30.372962 37.722278 16.249400 20.315570
1975-05-31 36.494630 36.599658 30.577860 37.947634 16.509738 20.494853
CT DE FL GA ... SD \
Date ...
1975-01-31 24.493861 27.256874 31.036368 30.746130 ... 37.754067
1975-02-28 25.032651 27.249036 32.252269 30.471590 ... 37.337158
1975-03-31 25.440129 27.272794 34.035890 30.358694 ... 36.912611
1975-04-30 25.669265 27.372090 36.222625 30.421525 ... 36.489475
1975-05-31 25.738778 27.575029 36.457310 30.530216 ... 36.102422
TN TX UT VT VA WA \
Date
1975-01-31 32.171503 32.626112 24.593496 26.620695 27.901501 17.478975
1975-02-28 32.222504 32.958338 24.947068 26.937920 28.192244 17.544439
1975-03-31 32.312085 33.546541 25.262533 27.244899 28.407625 17.652704
1975-04-30 32.439126 34.398979 25.510183 27.525197 28.570828 17.785996
1975-05-31 32.585102 34.651415 25.671483 27.771740 28.712080 17.910147
WV WI WY
Date
1975-01-31 41.006639 28.115545 31.663002
1975-02-28 42.051072 28.490112 32.157887
1975-03-31 43.139021 28.861735 32.678700
1975-04-30 44.260809 29.197658 33.211169
1975-05-31 45.388703 29.476274 33.718382
[5 rows x 50 columns]
import quandl
import pandas as pd
import pickle
# Not necessary, I just do this so I do not show my API key.
#api_key = open('quandlapikey.txt','r').read()
#print(fiddy_states)
def state_list():
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
return fiddy_states[0][0][1:]
def grab_initial_state_data():
states = state_list()
main_df = pd.DataFrame()
for abbv in states:
#print(abbv)
query = "FMAC/HPI_"+str(abbv)
df = quandl.get(query, authtoken='n75cJa9b8mNzuVz65S1S')
df.columns = [str(abbv)]
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
print(main_df.head())
pickle_out = open('fiddy_states.pickle','wb')
pickle.dump(main_df, pickle_out)
pickle_out.close()
grab_initial_state_data()
AL AK AZ AR CA CO \
Date
1975-01-31 35.453384 34.385997 28.940587 36.845816 15.696667 19.647452
1975-02-28 35.666686 34.910701 29.476038 37.185864 15.747528 19.875307
1975-03-31 35.915007 35.446987 29.980514 37.482491 15.936916 20.102116
1975-04-30 36.216014 36.002154 30.372962 37.722278 16.249400 20.315570
1975-05-31 36.494630 36.599658 30.577860 37.947634 16.509738 20.494853
CT DE FL GA ... SD \
Date ...
1975-01-31 24.493861 27.256874 31.036368 30.746130 ... 37.754067
1975-02-28 25.032651 27.249036 32.252269 30.471590 ... 37.337158
1975-03-31 25.440129 27.272794 34.035890 30.358694 ... 36.912611
1975-04-30 25.669265 27.372090 36.222625 30.421525 ... 36.489475
1975-05-31 25.738778 27.575029 36.457310 30.530216 ... 36.102422
TN TX UT VT VA WA \
Date
1975-01-31 32.171503 32.626112 24.593496 26.620695 27.901501 17.478975
1975-02-28 32.222504 32.958338 24.947068 26.937920 28.192244 17.544439
1975-03-31 32.312085 33.546541 25.262533 27.244899 28.407625 17.652704
1975-04-30 32.439126 34.398979 25.510183 27.525197 28.570828 17.785996
1975-05-31 32.585102 34.651415 25.671483 27.771740 28.712080 17.910147
WV WI WY
Date
1975-01-31 41.006639 28.115545 31.663002
1975-02-28 42.051072 28.490112 32.157887
1975-03-31 43.139021 28.861735 32.678700
1975-04-30 44.260809 29.197658 33.211169
1975-05-31 45.388703 29.476274 33.718382
[5 rows x 50 columns]
pickle_in = open('fiddy_states.pickle','rb')
HPI_data = pickle.load(pickle_in)
print(HPI_data)
AL AK AZ AR CA \
Date
1975-01-31 35.453384 34.385997 28.940587 36.845816 15.696667
1975-02-28 35.666686 34.910701 29.476038 37.185864 15.747528
1975-03-31 35.915007 35.446987 29.980514 37.482491 15.936916
1975-04-30 36.216014 36.002154 30.372962 37.722278 16.249400
1975-05-31 36.494630 36.599658 30.577860 37.947634 16.509738
1975-06-30 36.634853 37.228477 30.527373 38.181553 16.625954
1975-07-31 36.574284 37.850604 30.201374 38.387207 16.750543
1975-08-31 36.355267 38.416847 29.687453 38.516980 16.974333
1975-09-30 36.107410 38.912039 29.152543 38.534432 17.216349
1975-10-31 35.991610 39.365282 28.850928 38.496009 17.432255
1975-11-30 36.095651 39.772512 28.957720 38.525691 17.576145
1975-12-31 36.435524 40.113479 29.328103 38.657338 17.699161
1976-01-31 36.978830 40.389793 29.711190 38.859577 17.880677
1976-02-29 37.597955 40.622892 30.003192 39.150075 18.095021
1976-03-31 38.124589 40.839218 30.175684 39.542395 18.363835
1976-04-30 38.456250 41.050961 30.238646 39.985721 18.657621
1976-05-31 38.614078 41.259609 30.230365 40.379474 18.880866
1976-06-30 38.682492 41.461078 30.195239 40.691074 19.109120
1976-07-31 38.751361 41.633066 30.185145 40.978526 19.407544
1976-08-31 38.820408 41.768158 30.221197 41.287394 19.708868
1976-09-30 38.864600 41.934490 30.285878 41.554545 19.987500
1976-10-31 38.927183 42.194947 30.438921 41.719865 20.279428
1976-11-30 39.070733 42.544022 30.673730 41.844728 20.637096
1976-12-31 39.233851 42.955853 30.862350 42.016912 20.994290
1977-01-31 39.324173 43.387346 30.975695 42.299034 21.359735
1977-02-28 39.370142 43.785317 31.098255 42.690048 21.834891
1977-03-31 39.436033 44.105789 31.328894 43.105086 22.417219
1977-04-30 39.624060 44.351466 31.615716 43.442488 22.995164
1977-05-31 39.951459 44.566462 31.861496 43.684871 23.589262
1977-06-30 40.371169 44.780218 32.176042 43.916942 24.185939
... ... ... ... ... ...
2015-01-31 123.214683 167.290833 150.805333 129.293714 179.387082
2015-02-28 123.714096 167.769475 151.788730 129.343300 180.866188
2015-03-31 124.432426 168.937698 153.163623 129.922592 183.443491
2015-04-30 125.379319 170.694759 154.671203 130.922776 185.977073
2015-05-31 126.410371 172.690741 156.047095 132.092783 187.945700
2015-06-30 127.311924 174.406563 157.134850 133.067558 189.478706
2015-07-31 127.809975 175.466556 158.083390 133.834926 190.516613
2015-08-31 127.801120 175.931999 158.994290 134.470507 191.287656
2015-09-30 127.288536 175.920868 159.893900 134.829295 191.737526
2015-10-31 126.674812 175.563682 160.379977 134.744542 192.092512
2015-11-30 126.214000 175.246454 160.467723 134.254223 192.637783
2015-12-31 125.984065 175.026028 160.583240 133.591856 193.216018
2016-01-31 126.273672 174.846377 161.143328 133.079416 193.709823
2016-02-29 127.114005 174.922916 162.635643 133.127573 195.532746
2016-03-31 128.269958 175.447264 164.736865 133.924852 198.522169
2016-04-30 129.650019 176.370721 166.503995 135.126513 200.729583
2016-05-31 130.934649 177.339580 167.446295 136.295392 202.385206
2016-06-30 131.957802 177.784191 168.112302 137.268921 203.950735
2016-07-31 132.765743 177.444544 169.084497 137.833235 205.084637
2016-08-31 133.116480 176.586280 170.183068 137.911100 205.605572
2016-09-30 132.894906 175.658243 171.361328 137.727023 205.646279
2016-10-31 132.150048 175.040074 172.648750 137.396834 205.864743
2016-11-30 131.338689 174.774483 173.538287 137.174554 206.328398
2016-12-31 130.914417 174.697186 174.119096 137.266561 207.231568
2017-01-31 131.101733 174.848165 174.911735 137.558812 208.374611
2017-02-28 132.054144 175.422420 175.877670 138.104003 209.865420
2017-03-31 133.590020 176.406371 177.315270 139.067406 212.093923
2017-04-30 135.203788 177.726428 179.073405 140.321974 214.612943
2017-05-31 136.498215 179.203841 180.297286 141.572719 217.093456
2017-06-30 137.712352 180.405983 181.100072 142.689749 218.899302
CO CT DE FL GA \
Date
1975-01-31 19.647452 24.493861 27.256874 31.036368 30.746130
1975-02-28 19.875307 25.032651 27.249036 32.252269 30.471590
1975-03-31 20.102116 25.440129 27.272794 34.035890 30.358694
1975-04-30 20.315570 25.669265 27.372090 36.222625 30.421525
1975-05-31 20.494853 25.738778 27.575029 36.457310 30.530216
1975-06-30 20.651234 25.704588 27.831925 34.815122 30.561757
1975-07-31 20.765025 25.653661 28.067595 33.585945 30.461846
1975-08-31 20.773227 25.634210 28.270963 33.012826 30.219990
1975-09-30 20.706608 25.658333 28.441906 32.878150 29.872967
1975-10-31 20.688197 25.734995 28.557490 33.009574 29.587931
1975-11-30 20.814759 25.905826 28.632126 33.263831 29.500462
1975-12-31 21.038689 26.135594 28.689278 33.409853 29.556919
1976-01-31 21.255645 26.342346 28.718473 33.373301 29.646579
1976-02-29 21.438718 26.490259 28.720166 33.389839 29.668915
1976-03-31 21.621099 26.584399 28.727504 33.932085 29.632195
1976-04-30 21.792312 26.656375 28.791011 35.154826 29.671058
1976-05-31 21.909956 26.734638 28.885535 35.487947 29.878039
1976-06-30 21.979575 26.855000 28.940313 34.629923 30.283138
1976-07-31 22.009310 27.025475 28.944659 34.033513 30.734291
1976-08-31 22.008362 27.166350 28.919844 33.921707 30.973968
1976-09-30 22.032409 27.239081 28.893143 34.027834 31.028048
1976-10-31 22.173065 27.324569 28.909225 34.133866 30.981488
1976-11-30 22.440542 27.393190 29.007428 34.200512 30.881753
1976-12-31 22.721354 27.354598 29.182626 34.061910 30.811641
1977-01-31 22.933155 27.275330 29.402921 33.577663 30.784891
1977-02-28 23.109582 27.246175 29.620419 32.890087 30.822328
1977-03-31 23.307137 27.324545 29.773347 33.012283 30.925928
1977-04-30 23.577776 27.621353 29.833276 34.777339 31.088212
1977-05-31 23.916893 28.112667 29.825291 35.992038 31.285932
1977-06-30 24.314146 28.656180 29.812207 35.536988 31.499936
... ... ... ... ... ...
2015-01-31 144.167659 128.930628 147.539868 156.288395 115.926268
2015-02-28 146.284656 128.731928 147.499368 158.026599 116.940183
2015-03-31 148.787298 129.501519 148.110160 160.022443 118.515241
2015-04-30 151.226946 131.103544 149.408683 161.889730 120.267075
2015-05-31 153.509348 132.981211 150.877619 164.167326 121.714831
2015-06-30 155.288726 134.466828 151.743217 166.451645 122.729749
2015-07-31 156.425206 135.065680 151.843141 168.120303 123.278571
2015-08-31 156.888998 134.488097 151.741030 169.009810 123.587220
2015-09-30 157.064733 133.132658 151.850814 169.732543 123.898885
2015-10-31 157.190599 131.961233 152.312323 170.843980 124.145452
2015-11-30 157.048440 131.161984 152.985548 171.812399 124.174661
2015-12-31 157.307790 130.343517 153.464272 172.210638 124.276509
2016-01-31 158.660182 129.648250 153.649657 172.643866 124.613819
2016-02-29 160.952065 129.513436 153.718342 174.353115 125.323799
2016-03-31 163.899156 130.110334 153.939635 177.187484 126.762679
2016-04-30 166.958739 131.412487 154.417719 179.602582 128.884442
2016-05-31 169.664346 132.903451 154.884881 181.562912 130.801806
2016-06-30 171.581083 134.087932 155.215671 183.548631 131.902469
2016-07-31 172.648655 134.552888 155.376120 185.128708 132.516847
2016-08-31 173.086107 134.030144 155.206991 186.414106 132.691453
2016-09-30 173.227900 133.270077 154.710212 187.430137 132.674728
2016-10-31 173.385423 132.789329 154.082988 188.299249 132.747039
2016-11-30 173.566781 132.353426 153.524609 189.018972 132.740394
2016-12-31 174.341632 131.808821 152.978762 189.844825 132.738755
2017-01-31 176.120468 131.291994 152.649917 191.190460 133.094885
2017-02-28 178.562359 131.116584 152.963522 192.906654 134.047852
2017-03-31 181.220486 131.925410 154.149283 194.836579 135.683034
2017-04-30 183.680417 133.951730 155.887776 196.925531 137.823245
2017-05-31 186.187747 136.547673 157.638196 198.450983 139.670085
2017-06-30 187.976054 138.524640 159.252241 199.987057 140.914383
... SD TN TX UT \
Date ...
1975-01-31 ... 37.754067 32.171503 32.626112 24.593496
1975-02-28 ... 37.337158 32.222504 32.958338 24.947068
1975-03-31 ... 36.912611 32.312085 33.546541 25.262533
1975-04-30 ... 36.489475 32.439126 34.398979 25.510183
1975-05-31 ... 36.102422 32.585102 34.651415 25.671483
1975-06-30 ... 35.806520 32.744740 34.222331 25.718573
1975-07-31 ... 35.610109 32.911205 33.930958 25.658370
1975-08-31 ... 35.463960 33.086491 33.890084 25.570250
1975-09-30 ... 35.342593 33.315025 33.965869 25.551407
1975-10-31 ... 35.262108 33.656965 34.082889 25.716519
1975-11-30 ... 35.246260 34.109196 34.303998 26.077244
1975-12-31 ... 35.319802 34.516641 34.509390 26.473878
1976-01-31 ... 35.499957 34.707167 34.643401 26.824573
1976-02-29 ... 35.790652 34.681294 34.952800 27.156097
1976-03-31 ... 36.161829 34.597537 35.688706 27.459836
1976-04-30 ... 36.556026 34.624454 36.720822 27.732824
1976-05-31 ... 36.933173 34.719060 37.037879 27.951893
1976-06-30 ... 37.273964 34.745390 36.642609 28.087228
1976-07-31 ... 37.592575 34.741913 36.446191 28.223297
1976-08-31 ... 37.888156 34.794782 36.453791 28.396717
1976-09-30 ... 38.100695 34.894346 36.552274 28.539690
1976-10-31 ... 38.172081 35.002671 36.765258 28.673632
1976-11-30 ... 38.119135 35.105316 37.070697 28.881504
1976-12-31 ... 38.038400 35.235608 37.279759 29.193845
1977-01-31 ... 38.013313 35.454168 37.445796 29.548910
1977-02-28 ... 38.081055 35.792957 37.882246 29.907678
1977-03-31 ... 38.276353 36.224945 38.933838 30.304096
1977-04-30 ... 38.647993 36.688615 40.603675 30.756327
1977-05-31 ... 39.199588 37.123652 40.913325 31.233794
1977-06-30 ... 39.866278 37.551632 39.924533 31.699209
... ... ... ... ... ...
2015-01-31 ... 150.388726 133.871790 156.835154 147.177031
2015-02-28 ... 151.110585 134.620494 158.017454 148.588786
2015-03-31 ... 152.333628 135.857941 159.871952 150.441126
2015-04-30 ... 153.697091 137.325002 161.755716 152.320416
2015-05-31 ... 154.904534 138.881299 163.527696 154.033833
2015-06-30 ... 155.872554 140.135567 165.243458 155.323979
2015-07-31 ... 156.579706 140.816036 166.371662 156.134630
2015-08-31 ... 157.007037 141.180401 166.542478 156.695655
2015-09-30 ... 157.303222 141.501492 166.665983 157.220849
2015-10-31 ... 157.629249 141.716678 167.182878 157.736346
2015-11-30 ... 157.893027 141.642814 167.494674 158.065307
2015-12-31 ... 158.159982 141.427437 167.532281 158.416922
2016-01-31 ... 158.494928 141.547459 168.158064 159.146505
2016-02-29 ... 158.822537 142.264027 169.810792 160.198260
2016-03-31 ... 159.279722 143.658095 171.539418 161.820369
2016-04-30 ... 160.045885 145.600353 173.256735 164.246382
2016-05-31 ... 161.268283 147.363228 175.303755 166.563808
2016-06-30 ... 162.843363 148.476246 176.800415 168.133279
2016-07-31 ... 164.253934 149.491748 177.724614 169.366037
2016-08-31 ... 165.176550 150.669847 178.572709 170.199149
2016-09-30 ... 165.446796 151.391978 179.165056 170.459830
2016-10-31 ... 164.878105 151.439237 179.267350 170.234772
2016-11-30 ... 163.777107 151.329018 179.011867 169.817316
2016-12-31 ... 162.867985 151.241392 178.993963 169.848764
2017-01-31 ... 162.658626 151.575136 180.056846 170.985925
2017-02-28 ... 163.232106 152.857818 181.843074 173.282842
2017-03-31 ... 164.585344 154.599873 183.832887 175.951227
2017-04-30 ... 166.576154 156.280502 186.446220 178.208219
2017-05-31 ... 168.838073 157.697551 188.999583 180.104079
2017-06-30 ... 170.881416 158.797167 191.145051 181.469212
VT VA WA WV WI \
Date
1975-01-31 26.620695 27.901501 17.478975 41.006639 28.115545
1975-02-28 26.937920 28.192244 17.544439 42.051072 28.490112
1975-03-31 27.244899 28.407625 17.652704 43.139021 28.861735
1975-04-30 27.525197 28.570828 17.785996 44.260809 29.197658
1975-05-31 27.771740 28.712080 17.910147 45.388703 29.476274
1975-06-30 27.990373 28.850736 18.042067 46.463410 29.691981
1975-07-31 28.170273 29.044530 18.187802 47.405677 29.860880
1975-08-31 28.289204 29.242400 18.277487 48.156768 30.009379
1975-09-30 28.350415 29.305152 18.284039 48.659907 30.201191
1975-10-31 28.372390 29.251568 18.300061 48.881559 30.423250
1975-11-30 28.367012 29.157374 18.431764 48.888419 30.572815
1975-12-31 28.339887 29.052615 18.647899 48.790877 30.626502
1976-01-31 28.294290 28.973904 18.867923 48.673086 30.633439
1976-02-29 28.239803 29.018855 19.090844 48.618452 30.625383
1976-03-31 28.206607 29.201592 19.304640 48.656525 30.648633
1976-04-30 28.239656 29.429079 19.498190 48.730556 30.769416
1976-05-31 28.355536 29.674373 19.721004 48.779634 30.982752
1976-06-30 28.545312 29.887655 20.029470 48.776707 31.182373
1976-07-31 28.791784 30.027575 20.423411 48.719739 31.339649
1976-08-31 29.064077 30.185942 20.767478 48.642864 31.521193
1976-09-30 29.326231 30.349356 20.963020 48.596298 31.735860
1976-10-31 29.551156 30.464092 21.092221 48.598991 31.944387
1976-11-30 29.735081 30.579152 21.269940 48.663287 32.191967
1976-12-31 29.890396 30.677420 21.482062 48.821202 32.515778
1977-01-31 30.027569 30.760146 21.641866 49.098619 32.878675
1977-02-28 30.155120 30.894382 21.809690 49.481909 33.304425
1977-03-31 30.296011 31.101357 22.125344 49.947511 33.800142
1977-04-30 30.475071 31.348194 22.626472 50.489419 34.284364
1977-05-31 30.705529 31.639371 23.173477 51.049705 34.757529
1977-06-30 30.983867 31.975911 23.670298 51.554349 35.339741
... ... ... ... ... ...
2015-01-31 157.202112 168.439563 158.042651 139.866172 119.615921
2015-02-28 157.829665 168.541470 159.704842 140.318073 120.092465
2015-03-31 159.273148 169.861735 162.428411 141.519823 121.304395
2015-04-30 161.503688 171.801426 165.417879 143.100354 122.966455
2015-05-31 164.034173 173.639545 167.971869 144.401776 124.927943
2015-06-30 166.033178 174.892157 169.997388 144.945682 126.399787
2015-07-31 166.989955 175.245914 171.581229 144.803141 126.930033
2015-08-31 166.987853 175.114416 172.529522 144.262970 126.933873
2015-09-30 166.365554 174.926488 173.013062 143.524402 126.693759
2015-10-31 165.411259 174.427615 173.652159 142.768395 126.501600
2015-11-30 164.372868 173.579427 174.400987 142.013520 126.301044
2015-12-31 163.504043 172.667656 174.984247 141.263657 125.644494
2016-01-31 162.980355 172.392378 176.124979 140.651142 125.102488
2016-02-29 162.866811 173.490777 178.702477 140.422218 125.615208
2016-03-31 163.246502 175.613691 182.006211 140.841035 127.139877
2016-04-30 164.265165 177.779940 185.190232 141.916831 129.057519
2016-05-31 165.625447 179.683737 187.972140 143.353606 131.047203
2016-06-30 166.942471 180.955316 190.151484 144.612754 132.929595
2016-07-31 167.977912 181.180301 191.792737 145.294723 134.119353
2016-08-31 168.369397 180.926844 192.769997 145.610239 134.413904
2016-09-30 167.972407 180.569133 193.033028 145.875422 134.177277
2016-10-31 167.141612 180.221308 193.034111 145.997822 133.865722
2016-11-30 166.394126 179.609332 193.448931 145.886340 133.160883
2016-12-31 166.015309 178.774034 194.611201 145.429858 132.251746
2017-01-31 166.192565 178.502466 196.443039 144.782388 132.037674
2017-02-28 166.949802 179.613711 199.582264 144.429322 132.606904
2017-03-31 168.049096 182.286286 204.224082 144.741636 134.149181
2017-04-30 169.410542 185.296871 208.884908 145.748552 136.579530
2017-05-31 171.178579 187.538848 212.810431 147.107015 138.864252
2017-06-30 172.565476 189.396040 216.341550 148.077932 140.898320
WY
Date
1975-01-31 31.663002
1975-02-28 32.157887
1975-03-31 32.678700
1975-04-30 33.211169
1975-05-31 33.718382
1975-06-30 34.186630
1975-07-31 34.620016
1975-08-31 35.007426
1975-09-30 35.333703
1975-10-31 35.573043
1975-11-30 35.729397
1975-12-31 35.833804
1976-01-31 35.922171
1976-02-29 36.042615
1976-03-31 36.223635
1976-04-30 36.469061
1976-05-31 36.799338
1976-06-30 37.255128
1976-07-31 37.824382
1976-08-31 38.429590
1976-09-30 39.036745
1976-10-31 39.655906
1976-11-30 40.240983
1976-12-31 40.715412
1977-01-31 41.084114
1977-02-28 41.411241
1977-03-31 41.735093
1977-04-30 42.069710
1977-05-31 42.442851
1977-06-30 42.921568
... ...
2015-01-31 180.064988
2015-02-28 180.356737
2015-03-31 181.067914
2015-04-30 182.365664
2015-05-31 184.081078
2015-06-30 185.850321
2015-07-31 187.127244
2015-08-31 187.440939
2015-09-30 186.909502
2015-10-31 185.912710
2015-11-30 184.709911
2015-12-31 183.679069
2016-01-31 183.194830
2016-02-29 183.401656
2016-03-31 184.247241
2016-04-30 185.442763
2016-05-31 186.526314
2016-06-30 187.348829
2016-07-31 187.997204
2016-08-31 188.463676
2016-09-30 188.474232
2016-10-31 187.790452
2016-11-30 186.767554
2016-12-31 185.988855
2017-01-31 185.784342
2017-02-28 186.212775
2017-03-31 187.118813
2017-04-30 188.385079
2017-05-31 189.901394
2017-06-30 191.424312
[510 rows x 50 columns]
HPI_data.to_pickle('pickle.pickle')
HPI_data2 = pd.read_pickle('pickle.pickle')
print(HPI_data2)
AL AK AZ AR CA \
Date
1975-01-31 35.453384 34.385997 28.940587 36.845816 15.696667
1975-02-28 35.666686 34.910701 29.476038 37.185864 15.747528
1975-03-31 35.915007 35.446987 29.980514 37.482491 15.936916
1975-04-30 36.216014 36.002154 30.372962 37.722278 16.249400
1975-05-31 36.494630 36.599658 30.577860 37.947634 16.509738
1975-06-30 36.634853 37.228477 30.527373 38.181553 16.625954
1975-07-31 36.574284 37.850604 30.201374 38.387207 16.750543
1975-08-31 36.355267 38.416847 29.687453 38.516980 16.974333
1975-09-30 36.107410 38.912039 29.152543 38.534432 17.216349
1975-10-31 35.991610 39.365282 28.850928 38.496009 17.432255
1975-11-30 36.095651 39.772512 28.957720 38.525691 17.576145
1975-12-31 36.435524 40.113479 29.328103 38.657338 17.699161
1976-01-31 36.978830 40.389793 29.711190 38.859577 17.880677
1976-02-29 37.597955 40.622892 30.003192 39.150075 18.095021
1976-03-31 38.124589 40.839218 30.175684 39.542395 18.363835
1976-04-30 38.456250 41.050961 30.238646 39.985721 18.657621
1976-05-31 38.614078 41.259609 30.230365 40.379474 18.880866
1976-06-30 38.682492 41.461078 30.195239 40.691074 19.109120
1976-07-31 38.751361 41.633066 30.185145 40.978526 19.407544
1976-08-31 38.820408 41.768158 30.221197 41.287394 19.708868
1976-09-30 38.864600 41.934490 30.285878 41.554545 19.987500
1976-10-31 38.927183 42.194947 30.438921 41.719865 20.279428
1976-11-30 39.070733 42.544022 30.673730 41.844728 20.637096
1976-12-31 39.233851 42.955853 30.862350 42.016912 20.994290
1977-01-31 39.324173 43.387346 30.975695 42.299034 21.359735
1977-02-28 39.370142 43.785317 31.098255 42.690048 21.834891
1977-03-31 39.436033 44.105789 31.328894 43.105086 22.417219
1977-04-30 39.624060 44.351466 31.615716 43.442488 22.995164
1977-05-31 39.951459 44.566462 31.861496 43.684871 23.589262
1977-06-30 40.371169 44.780218 32.176042 43.916942 24.185939
... ... ... ... ... ...
2015-01-31 123.214683 167.290833 150.805333 129.293714 179.387082
2015-02-28 123.714096 167.769475 151.788730 129.343300 180.866188
2015-03-31 124.432426 168.937698 153.163623 129.922592 183.443491
2015-04-30 125.379319 170.694759 154.671203 130.922776 185.977073
2015-05-31 126.410371 172.690741 156.047095 132.092783 187.945700
2015-06-30 127.311924 174.406563 157.134850 133.067558 189.478706
2015-07-31 127.809975 175.466556 158.083390 133.834926 190.516613
2015-08-31 127.801120 175.931999 158.994290 134.470507 191.287656
2015-09-30 127.288536 175.920868 159.893900 134.829295 191.737526
2015-10-31 126.674812 175.563682 160.379977 134.744542 192.092512
2015-11-30 126.214000 175.246454 160.467723 134.254223 192.637783
2015-12-31 125.984065 175.026028 160.583240 133.591856 193.216018
2016-01-31 126.273672 174.846377 161.143328 133.079416 193.709823
2016-02-29 127.114005 174.922916 162.635643 133.127573 195.532746
2016-03-31 128.269958 175.447264 164.736865 133.924852 198.522169
2016-04-30 129.650019 176.370721 166.503995 135.126513 200.729583
2016-05-31 130.934649 177.339580 167.446295 136.295392 202.385206
2016-06-30 131.957802 177.784191 168.112302 137.268921 203.950735
2016-07-31 132.765743 177.444544 169.084497 137.833235 205.084637
2016-08-31 133.116480 176.586280 170.183068 137.911100 205.605572
2016-09-30 132.894906 175.658243 171.361328 137.727023 205.646279
2016-10-31 132.150048 175.040074 172.648750 137.396834 205.864743
2016-11-30 131.338689 174.774483 173.538287 137.174554 206.328398
2016-12-31 130.914417 174.697186 174.119096 137.266561 207.231568
2017-01-31 131.101733 174.848165 174.911735 137.558812 208.374611
2017-02-28 132.054144 175.422420 175.877670 138.104003 209.865420
2017-03-31 133.590020 176.406371 177.315270 139.067406 212.093923
2017-04-30 135.203788 177.726428 179.073405 140.321974 214.612943
2017-05-31 136.498215 179.203841 180.297286 141.572719 217.093456
2017-06-30 137.712352 180.405983 181.100072 142.689749 218.899302
CO CT DE FL GA \
Date
1975-01-31 19.647452 24.493861 27.256874 31.036368 30.746130
1975-02-28 19.875307 25.032651 27.249036 32.252269 30.471590
1975-03-31 20.102116 25.440129 27.272794 34.035890 30.358694
1975-04-30 20.315570 25.669265 27.372090 36.222625 30.421525
1975-05-31 20.494853 25.738778 27.575029 36.457310 30.530216
1975-06-30 20.651234 25.704588 27.831925 34.815122 30.561757
1975-07-31 20.765025 25.653661 28.067595 33.585945 30.461846
1975-08-31 20.773227 25.634210 28.270963 33.012826 30.219990
1975-09-30 20.706608 25.658333 28.441906 32.878150 29.872967
1975-10-31 20.688197 25.734995 28.557490 33.009574 29.587931
1975-11-30 20.814759 25.905826 28.632126 33.263831 29.500462
1975-12-31 21.038689 26.135594 28.689278 33.409853 29.556919
1976-01-31 21.255645 26.342346 28.718473 33.373301 29.646579
1976-02-29 21.438718 26.490259 28.720166 33.389839 29.668915
1976-03-31 21.621099 26.584399 28.727504 33.932085 29.632195
1976-04-30 21.792312 26.656375 28.791011 35.154826 29.671058
1976-05-31 21.909956 26.734638 28.885535 35.487947 29.878039
1976-06-30 21.979575 26.855000 28.940313 34.629923 30.283138
1976-07-31 22.009310 27.025475 28.944659 34.033513 30.734291
1976-08-31 22.008362 27.166350 28.919844 33.921707 30.973968
1976-09-30 22.032409 27.239081 28.893143 34.027834 31.028048
1976-10-31 22.173065 27.324569 28.909225 34.133866 30.981488
1976-11-30 22.440542 27.393190 29.007428 34.200512 30.881753
1976-12-31 22.721354 27.354598 29.182626 34.061910 30.811641
1977-01-31 22.933155 27.275330 29.402921 33.577663 30.784891
1977-02-28 23.109582 27.246175 29.620419 32.890087 30.822328
1977-03-31 23.307137 27.324545 29.773347 33.012283 30.925928
1977-04-30 23.577776 27.621353 29.833276 34.777339 31.088212
1977-05-31 23.916893 28.112667 29.825291 35.992038 31.285932
1977-06-30 24.314146 28.656180 29.812207 35.536988 31.499936
... ... ... ... ... ...
2015-01-31 144.167659 128.930628 147.539868 156.288395 115.926268
2015-02-28 146.284656 128.731928 147.499368 158.026599 116.940183
2015-03-31 148.787298 129.501519 148.110160 160.022443 118.515241
2015-04-30 151.226946 131.103544 149.408683 161.889730 120.267075
2015-05-31 153.509348 132.981211 150.877619 164.167326 121.714831
2015-06-30 155.288726 134.466828 151.743217 166.451645 122.729749
2015-07-31 156.425206 135.065680 151.843141 168.120303 123.278571
2015-08-31 156.888998 134.488097 151.741030 169.009810 123.587220
2015-09-30 157.064733 133.132658 151.850814 169.732543 123.898885
2015-10-31 157.190599 131.961233 152.312323 170.843980 124.145452
2015-11-30 157.048440 131.161984 152.985548 171.812399 124.174661
2015-12-31 157.307790 130.343517 153.464272 172.210638 124.276509
2016-01-31 158.660182 129.648250 153.649657 172.643866 124.613819
2016-02-29 160.952065 129.513436 153.718342 174.353115 125.323799
2016-03-31 163.899156 130.110334 153.939635 177.187484 126.762679
2016-04-30 166.958739 131.412487 154.417719 179.602582 128.884442
2016-05-31 169.664346 132.903451 154.884881 181.562912 130.801806
2016-06-30 171.581083 134.087932 155.215671 183.548631 131.902469
2016-07-31 172.648655 134.552888 155.376120 185.128708 132.516847
2016-08-31 173.086107 134.030144 155.206991 186.414106 132.691453
2016-09-30 173.227900 133.270077 154.710212 187.430137 132.674728
2016-10-31 173.385423 132.789329 154.082988 188.299249 132.747039
2016-11-30 173.566781 132.353426 153.524609 189.018972 132.740394
2016-12-31 174.341632 131.808821 152.978762 189.844825 132.738755
2017-01-31 176.120468 131.291994 152.649917 191.190460 133.094885
2017-02-28 178.562359 131.116584 152.963522 192.906654 134.047852
2017-03-31 181.220486 131.925410 154.149283 194.836579 135.683034
2017-04-30 183.680417 133.951730 155.887776 196.925531 137.823245
2017-05-31 186.187747 136.547673 157.638196 198.450983 139.670085
2017-06-30 187.976054 138.524640 159.252241 199.987057 140.914383
... SD TN TX UT \
Date ...
1975-01-31 ... 37.754067 32.171503 32.626112 24.593496
1975-02-28 ... 37.337158 32.222504 32.958338 24.947068
1975-03-31 ... 36.912611 32.312085 33.546541 25.262533
1975-04-30 ... 36.489475 32.439126 34.398979 25.510183
1975-05-31 ... 36.102422 32.585102 34.651415 25.671483
1975-06-30 ... 35.806520 32.744740 34.222331 25.718573
1975-07-31 ... 35.610109 32.911205 33.930958 25.658370
1975-08-31 ... 35.463960 33.086491 33.890084 25.570250
1975-09-30 ... 35.342593 33.315025 33.965869 25.551407
1975-10-31 ... 35.262108 33.656965 34.082889 25.716519
1975-11-30 ... 35.246260 34.109196 34.303998 26.077244
1975-12-31 ... 35.319802 34.516641 34.509390 26.473878
1976-01-31 ... 35.499957 34.707167 34.643401 26.824573
1976-02-29 ... 35.790652 34.681294 34.952800 27.156097
1976-03-31 ... 36.161829 34.597537 35.688706 27.459836
1976-04-30 ... 36.556026 34.624454 36.720822 27.732824
1976-05-31 ... 36.933173 34.719060 37.037879 27.951893
1976-06-30 ... 37.273964 34.745390 36.642609 28.087228
1976-07-31 ... 37.592575 34.741913 36.446191 28.223297
1976-08-31 ... 37.888156 34.794782 36.453791 28.396717
1976-09-30 ... 38.100695 34.894346 36.552274 28.539690
1976-10-31 ... 38.172081 35.002671 36.765258 28.673632
1976-11-30 ... 38.119135 35.105316 37.070697 28.881504
1976-12-31 ... 38.038400 35.235608 37.279759 29.193845
1977-01-31 ... 38.013313 35.454168 37.445796 29.548910
1977-02-28 ... 38.081055 35.792957 37.882246 29.907678
1977-03-31 ... 38.276353 36.224945 38.933838 30.304096
1977-04-30 ... 38.647993 36.688615 40.603675 30.756327
1977-05-31 ... 39.199588 37.123652 40.913325 31.233794
1977-06-30 ... 39.866278 37.551632 39.924533 31.699209
... ... ... ... ... ...
2015-01-31 ... 150.388726 133.871790 156.835154 147.177031
2015-02-28 ... 151.110585 134.620494 158.017454 148.588786
2015-03-31 ... 152.333628 135.857941 159.871952 150.441126
2015-04-30 ... 153.697091 137.325002 161.755716 152.320416
2015-05-31 ... 154.904534 138.881299 163.527696 154.033833
2015-06-30 ... 155.872554 140.135567 165.243458 155.323979
2015-07-31 ... 156.579706 140.816036 166.371662 156.134630
2015-08-31 ... 157.007037 141.180401 166.542478 156.695655
2015-09-30 ... 157.303222 141.501492 166.665983 157.220849
2015-10-31 ... 157.629249 141.716678 167.182878 157.736346
2015-11-30 ... 157.893027 141.642814 167.494674 158.065307
2015-12-31 ... 158.159982 141.427437 167.532281 158.416922
2016-01-31 ... 158.494928 141.547459 168.158064 159.146505
2016-02-29 ... 158.822537 142.264027 169.810792 160.198260
2016-03-31 ... 159.279722 143.658095 171.539418 161.820369
2016-04-30 ... 160.045885 145.600353 173.256735 164.246382
2016-05-31 ... 161.268283 147.363228 175.303755 166.563808
2016-06-30 ... 162.843363 148.476246 176.800415 168.133279
2016-07-31 ... 164.253934 149.491748 177.724614 169.366037
2016-08-31 ... 165.176550 150.669847 178.572709 170.199149
2016-09-30 ... 165.446796 151.391978 179.165056 170.459830
2016-10-31 ... 164.878105 151.439237 179.267350 170.234772
2016-11-30 ... 163.777107 151.329018 179.011867 169.817316
2016-12-31 ... 162.867985 151.241392 178.993963 169.848764
2017-01-31 ... 162.658626 151.575136 180.056846 170.985925
2017-02-28 ... 163.232106 152.857818 181.843074 173.282842
2017-03-31 ... 164.585344 154.599873 183.832887 175.951227
2017-04-30 ... 166.576154 156.280502 186.446220 178.208219
2017-05-31 ... 168.838073 157.697551 188.999583 180.104079
2017-06-30 ... 170.881416 158.797167 191.145051 181.469212
VT VA WA WV WI \
Date
1975-01-31 26.620695 27.901501 17.478975 41.006639 28.115545
1975-02-28 26.937920 28.192244 17.544439 42.051072 28.490112
1975-03-31 27.244899 28.407625 17.652704 43.139021 28.861735
1975-04-30 27.525197 28.570828 17.785996 44.260809 29.197658
1975-05-31 27.771740 28.712080 17.910147 45.388703 29.476274
1975-06-30 27.990373 28.850736 18.042067 46.463410 29.691981
1975-07-31 28.170273 29.044530 18.187802 47.405677 29.860880
1975-08-31 28.289204 29.242400 18.277487 48.156768 30.009379
1975-09-30 28.350415 29.305152 18.284039 48.659907 30.201191
1975-10-31 28.372390 29.251568 18.300061 48.881559 30.423250
1975-11-30 28.367012 29.157374 18.431764 48.888419 30.572815
1975-12-31 28.339887 29.052615 18.647899 48.790877 30.626502
1976-01-31 28.294290 28.973904 18.867923 48.673086 30.633439
1976-02-29 28.239803 29.018855 19.090844 48.618452 30.625383
1976-03-31 28.206607 29.201592 19.304640 48.656525 30.648633
1976-04-30 28.239656 29.429079 19.498190 48.730556 30.769416
1976-05-31 28.355536 29.674373 19.721004 48.779634 30.982752
1976-06-30 28.545312 29.887655 20.029470 48.776707 31.182373
1976-07-31 28.791784 30.027575 20.423411 48.719739 31.339649
1976-08-31 29.064077 30.185942 20.767478 48.642864 31.521193
1976-09-30 29.326231 30.349356 20.963020 48.596298 31.735860
1976-10-31 29.551156 30.464092 21.092221 48.598991 31.944387
1976-11-30 29.735081 30.579152 21.269940 48.663287 32.191967
1976-12-31 29.890396 30.677420 21.482062 48.821202 32.515778
1977-01-31 30.027569 30.760146 21.641866 49.098619 32.878675
1977-02-28 30.155120 30.894382 21.809690 49.481909 33.304425
1977-03-31 30.296011 31.101357 22.125344 49.947511 33.800142
1977-04-30 30.475071 31.348194 22.626472 50.489419 34.284364
1977-05-31 30.705529 31.639371 23.173477 51.049705 34.757529
1977-06-30 30.983867 31.975911 23.670298 51.554349 35.339741
... ... ... ... ... ...
2015-01-31 157.202112 168.439563 158.042651 139.866172 119.615921
2015-02-28 157.829665 168.541470 159.704842 140.318073 120.092465
2015-03-31 159.273148 169.861735 162.428411 141.519823 121.304395
2015-04-30 161.503688 171.801426 165.417879 143.100354 122.966455
2015-05-31 164.034173 173.639545 167.971869 144.401776 124.927943
2015-06-30 166.033178 174.892157 169.997388 144.945682 126.399787
2015-07-31 166.989955 175.245914 171.581229 144.803141 126.930033
2015-08-31 166.987853 175.114416 172.529522 144.262970 126.933873
2015-09-30 166.365554 174.926488 173.013062 143.524402 126.693759
2015-10-31 165.411259 174.427615 173.652159 142.768395 126.501600
2015-11-30 164.372868 173.579427 174.400987 142.013520 126.301044
2015-12-31 163.504043 172.667656 174.984247 141.263657 125.644494
2016-01-31 162.980355 172.392378 176.124979 140.651142 125.102488
2016-02-29 162.866811 173.490777 178.702477 140.422218 125.615208
2016-03-31 163.246502 175.613691 182.006211 140.841035 127.139877
2016-04-30 164.265165 177.779940 185.190232 141.916831 129.057519
2016-05-31 165.625447 179.683737 187.972140 143.353606 131.047203
2016-06-30 166.942471 180.955316 190.151484 144.612754 132.929595
2016-07-31 167.977912 181.180301 191.792737 145.294723 134.119353
2016-08-31 168.369397 180.926844 192.769997 145.610239 134.413904
2016-09-30 167.972407 180.569133 193.033028 145.875422 134.177277
2016-10-31 167.141612 180.221308 193.034111 145.997822 133.865722
2016-11-30 166.394126 179.609332 193.448931 145.886340 133.160883
2016-12-31 166.015309 178.774034 194.611201 145.429858 132.251746
2017-01-31 166.192565 178.502466 196.443039 144.782388 132.037674
2017-02-28 166.949802 179.613711 199.582264 144.429322 132.606904
2017-03-31 168.049096 182.286286 204.224082 144.741636 134.149181
2017-04-30 169.410542 185.296871 208.884908 145.748552 136.579530
2017-05-31 171.178579 187.538848 212.810431 147.107015 138.864252
2017-06-30 172.565476 189.396040 216.341550 148.077932 140.898320
WY
Date
1975-01-31 31.663002
1975-02-28 32.157887
1975-03-31 32.678700
1975-04-30 33.211169
1975-05-31 33.718382
1975-06-30 34.186630
1975-07-31 34.620016
1975-08-31 35.007426
1975-09-30 35.333703
1975-10-31 35.573043
1975-11-30 35.729397
1975-12-31 35.833804
1976-01-31 35.922171
1976-02-29 36.042615
1976-03-31 36.223635
1976-04-30 36.469061
1976-05-31 36.799338
1976-06-30 37.255128
1976-07-31 37.824382
1976-08-31 38.429590
1976-09-30 39.036745
1976-10-31 39.655906
1976-11-30 40.240983
1976-12-31 40.715412
1977-01-31 41.084114
1977-02-28 41.411241
1977-03-31 41.735093
1977-04-30 42.069710
1977-05-31 42.442851
1977-06-30 42.921568
... ...
2015-01-31 180.064988
2015-02-28 180.356737
2015-03-31 181.067914
2015-04-30 182.365664
2015-05-31 184.081078
2015-06-30 185.850321
2015-07-31 187.127244
2015-08-31 187.440939
2015-09-30 186.909502
2015-10-31 185.912710
2015-11-30 184.709911
2015-12-31 183.679069
2016-01-31 183.194830
2016-02-29 183.401656
2016-03-31 184.247241
2016-04-30 185.442763
2016-05-31 186.526314
2016-06-30 187.348829
2016-07-31 187.997204
2016-08-31 188.463676
2016-09-30 188.474232
2016-10-31 187.790452
2016-11-30 186.767554
2016-12-31 185.988855
2017-01-31 185.784342
2017-02-28 186.212775
2017-03-31 187.118813
2017-04-30 188.385079
2017-05-31 189.901394
2017-06-30 191.424312
[510 rows x 50 columns]
7、Percent Change - Data Analysis with Python and Pandas Tutorial
import quandl
import pandas as pd
import pickle
# Not necessary, I just do this so I do not show my API key.
#api_key = open('quandlapikey.txt','r').read()
def state_list():
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
return fiddy_states[0][0][1:]
def grab_initial_state_data():
states = state_list()
main_df = pd.DataFrame()
for abbv in states:
query = "FMAC/HPI_"+str(abbv)
df = Quandl.get(query, authtoken='n75cJa9b8mNzuVz65S1S')
print(query)
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
pickle_out = open('fiddy_states.pickle','wb')
pickle.dump(main_df, pickle_out)
pickle_out.close()
HPI_data = pd.read_pickle('fiddy_states.pickle')
HPI_data['TX2'] = HPI_data['TX'] * 2
print(HPI_data[['TX','TX2']].head())
TX TX2
Date
1975-01-31 32.626112 65.252224
1975-02-28 32.958338 65.916677
1975-03-31 33.546541 67.093083
1975-04-30 34.398979 68.797958
1975-05-31 34.651415 69.302830
import matplotlib.pyplot as plt
from matplotlib import style
style.use('fivethirtyeight')
fig = plt.figure(figsize = (10,8))
#HPI_data[['TX','TX2']].plot()
HPI_data.plot()
plt.legend().remove()
plt.show()
<matplotlib.figure.Figure at 0x20b95125ac8>
def grab_initial_state_data():
states = state_list()
main_df = pd.DataFrame()
for abbv in states:
query = "FMAC/HPI_"+str(abbv)
df = quandl.get(query, authtoken='n75cJa9b8mNzuVz65S1S')
df.columns = [str(abbv)]
print(query)
df = df.pct_change()
print(df.head())
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
pickle_out = open('fiddy_states2.pickle','wb')
pickle.dump(main_df, pickle_out)
pickle_out.close()
grab_initial_state_data()
FMAC/HPI_AL
AL
Date
1975-01-31 NaN
1975-02-28 0.006016
1975-03-31 0.006962
1975-04-30 0.008381
1975-05-31 0.007693
FMAC/HPI_AK
AK
Date
1975-01-31 NaN
1975-02-28 0.015259
1975-03-31 0.015362
1975-04-30 0.015662
1975-05-31 0.016596
FMAC/HPI_AZ
AZ
Date
1975-01-31 NaN
1975-02-28 0.018502
1975-03-31 0.017115
1975-04-30 0.013090
1975-05-31 0.006746
FMAC/HPI_AR
AR
Date
1975-01-31 NaN
1975-02-28 0.009229
1975-03-31 0.007977
1975-04-30 0.006397
1975-05-31 0.005974
FMAC/HPI_CA
CA
Date
1975-01-31 NaN
1975-02-28 0.003240
1975-03-31 0.012027
1975-04-30 0.019608
1975-05-31 0.016021
FMAC/HPI_CO
CO
Date
1975-01-31 NaN
1975-02-28 0.011597
1975-03-31 0.011412
1975-04-30 0.010619
1975-05-31 0.008825
FMAC/HPI_CT
CT
Date
1975-01-31 NaN
1975-02-28 0.021997
1975-03-31 0.016278
1975-04-30 0.009007
1975-05-31 0.002708
FMAC/HPI_DE
DE
Date
1975-01-31 NaN
1975-02-28 -0.000288
1975-03-31 0.000872
1975-04-30 0.003641
1975-05-31 0.007414
FMAC/HPI_FL
FL
Date
1975-01-31 NaN
1975-02-28 0.039177
1975-03-31 0.055302
1975-04-30 0.064248
1975-05-31 0.006479
FMAC/HPI_GA
GA
Date
1975-01-31 NaN
1975-02-28 -0.008929
1975-03-31 -0.003705
1975-04-30 0.002070
1975-05-31 0.003573
FMAC/HPI_HI
HI
Date
1975-01-31 NaN
1975-02-28 -0.002334
1975-03-31 -0.000542
1975-04-30 0.002163
1975-05-31 0.004587
FMAC/HPI_ID
ID
Date
1975-01-31 NaN
1975-02-28 -0.001562
1975-03-31 -0.001686
1975-04-30 -0.001312
1975-05-31 -0.000153
FMAC/HPI_IL
IL
Date
1975-01-31 NaN
1975-02-28 0.008745
1975-03-31 0.010846
1975-04-30 0.011269
1975-05-31 0.006466
FMAC/HPI_IN
IN
Date
1975-01-31 NaN
1975-02-28 0.013864
1975-03-31 0.013272
1975-04-30 0.010520
1975-05-31 0.006104
FMAC/HPI_IA
IA
Date
1975-01-31 NaN
1975-02-28 0.016549
1975-03-31 0.014744
1975-04-30 0.011325
1975-05-31 0.006970
FMAC/HPI_KS
KS
Date
1975-01-31 NaN
1975-02-28 0.011251
1975-03-31 0.012301
1975-04-30 0.012665
1975-05-31 0.011942
FMAC/HPI_KY
KY
Date
1975-01-31 NaN
1975-02-28 0.001304
1975-03-31 0.000916
1975-04-30 0.002206
1975-05-31 0.006560
FMAC/HPI_LA
LA
Date
1975-01-31 NaN
1975-02-28 0.018859
1975-03-31 0.018650
1975-04-30 0.013950
1975-05-31 0.006747
FMAC/HPI_ME
ME
Date
1975-01-31 NaN
1975-02-28 -0.004440
1975-03-31 -0.003215
1975-04-30 -0.001159
1975-05-31 0.001580
FMAC/HPI_MD
MD
Date
1975-01-31 NaN
1975-02-28 -0.003174
1975-03-31 -0.001580
1975-04-30 0.001569
1975-05-31 0.004433
FMAC/HPI_MA
MA
Date
1975-01-31 NaN
1975-02-28 -0.006375
1975-03-31 -0.006477
1975-04-30 -0.005226
1975-05-31 -0.002419
FMAC/HPI_MI
MI
Date
1975-01-31 NaN
1975-02-28 0.014749
1975-03-31 0.011825
1975-04-30 0.007137
1975-05-31 0.001966
FMAC/HPI_MN
MN
Date
1975-01-31 NaN
1975-02-28 0.010008
1975-03-31 0.008542
1975-04-30 0.007954
1975-05-31 0.009405
FMAC/HPI_MS
MS
Date
1975-01-31 NaN
1975-02-28 -0.006733
1975-03-31 -0.004886
1975-04-30 -0.001808
1975-05-31 0.001422
FMAC/HPI_MO
MO
Date
1975-01-31 NaN
1975-02-28 0.044445
1975-03-31 0.043023
1975-04-30 0.033510
1975-05-31 -0.001747
FMAC/HPI_MT
MT
Date
1975-01-31 NaN
1975-02-28 0.011710
1975-03-31 0.012310
1975-04-30 0.012510
1975-05-31 0.011463
FMAC/HPI_NE
NE
Date
1975-01-31 NaN
1975-02-28 -0.000453
1975-03-31 -0.000596
1975-04-30 -0.000656
1975-05-31 -0.000797
FMAC/HPI_NV
NV
Date
1975-01-31 NaN
1975-02-28 0.017014
1975-03-31 0.016149
1975-04-30 0.014734
1975-05-31 0.012890
FMAC/HPI_NH
NH
Date
1975-01-31 NaN
1975-02-28 0.015509
1975-03-31 0.013990
1975-04-30 0.011441
1975-05-31 0.007990
FMAC/HPI_NJ
NJ
Date
1975-01-31 NaN
1975-02-28 -0.022666
1975-03-31 -0.013597
1975-04-30 -0.001044
1975-05-31 0.007732
FMAC/HPI_NM
NM
Date
1975-01-31 NaN
1975-02-28 0.014942
1975-03-31 0.013965
1975-04-30 0.011168
1975-05-31 0.008234
FMAC/HPI_NY
NY
Date
1975-01-31 NaN
1975-02-28 -0.019926
1975-03-31 -0.008992
1975-04-30 0.000267
1975-05-31 0.005756
FMAC/HPI_NC
NC
Date
1975-01-31 NaN
1975-02-28 0.010235
1975-03-31 0.008862
1975-04-30 0.007732
1975-05-31 0.006536
FMAC/HPI_ND
ND
Date
1975-01-31 NaN
1975-02-28 -0.002625
1975-03-31 -0.001375
1975-04-30 0.001612
1975-05-31 0.005081
FMAC/HPI_OH
OH
Date
1975-01-31 NaN
1975-02-28 0.001769
1975-03-31 0.005553
1975-04-30 0.007447
1975-05-31 0.007754
FMAC/HPI_OK
OK
Date
1975-01-31 NaN
1975-02-28 -0.003120
1975-03-31 -0.001754
1975-04-30 -0.001164
1975-05-31 -0.000813
FMAC/HPI_OR
OR
Date
1975-01-31 NaN
1975-02-28 0.024658
1975-03-31 0.022821
1975-04-30 0.020191
1975-05-31 0.018966
FMAC/HPI_PA
PA
Date
1975-01-31 NaN
1975-02-28 0.012233
1975-03-31 0.009557
1975-04-30 0.007180
1975-05-31 0.008169
FMAC/HPI_RI
RI
Date
1975-01-31 NaN
1975-02-28 0.020806
1975-03-31 0.020604
1975-04-30 0.020320
1975-05-31 0.019339
FMAC/HPI_SC
SC
Date
1975-01-31 NaN
1975-02-28 0.012250
1975-03-31 0.008968
1975-04-30 0.004826
1975-05-31 0.002914
FMAC/HPI_SD
SD
Date
1975-01-31 NaN
1975-02-28 -0.011043
1975-03-31 -0.011371
1975-04-30 -0.011463
1975-05-31 -0.010607
FMAC/HPI_TN
TN
Date
1975-01-31 NaN
1975-02-28 0.001585
1975-03-31 0.002780
1975-04-30 0.003932
1975-05-31 0.004500
FMAC/HPI_TX
TX
Date
1975-01-31 NaN
1975-02-28 0.010183
1975-03-31 0.017847
1975-04-30 0.025411
1975-05-31 0.007338
FMAC/HPI_UT
UT
Date
1975-01-31 NaN
1975-02-28 0.014377
1975-03-31 0.012645
1975-04-30 0.009803
1975-05-31 0.006323
FMAC/HPI_VT
VT
Date
1975-01-31 NaN
1975-02-28 0.011916
1975-03-31 0.011396
1975-04-30 0.010288
1975-05-31 0.008957
FMAC/HPI_VA
VA
Date
1975-01-31 NaN
1975-02-28 0.010420
1975-03-31 0.007640
1975-04-30 0.005745
1975-05-31 0.004944
FMAC/HPI_WA
WA
Date
1975-01-31 NaN
1975-02-28 0.003745
1975-03-31 0.006171
1975-04-30 0.007551
1975-05-31 0.006980
FMAC/HPI_WV
WV
Date
1975-01-31 NaN
1975-02-28 0.025470
1975-03-31 0.025872
1975-04-30 0.026004
1975-05-31 0.025483
FMAC/HPI_WI
WI
Date
1975-01-31 NaN
1975-02-28 0.013322
1975-03-31 0.013044
1975-04-30 0.011639
1975-05-31 0.009542
FMAC/HPI_WY
WY
Date
1975-01-31 NaN
1975-02-28 0.015630
1975-03-31 0.016195
1975-04-30 0.016294
1975-05-31 0.015272
HPI_data = pd.read_pickle('fiddy_states2.pickle')
HPI_data.plot()
plt.legend().remove()
plt.show()
def grab_initial_state_data():
states = state_list()
main_df = pd.DataFrame()
for abbv in states:
query = "FMAC/HPI_"+str(abbv)
df = quandl.get(query, authtoken='n75cJa9b8mNzuVz65S1S')
df.columns = [str(abbv)]
print(query)
df[abbv] = (df[abbv]-df[abbv][0]) / df[abbv][0] * 100.0
print(df.head())
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
pickle_out = open('fiddy_states3.pickle','wb')
pickle.dump(main_df, pickle_out)
pickle_out.close()
grab_initial_state_data()
HPI_data = pd.read_pickle('fiddy_states3.pickle')
HPI_data.plot()
plt.legend().remove()
plt.show()
FMAC/HPI_AL
AL
Date
1975-01-31 0.000000
1975-02-28 0.601640
1975-03-31 1.302056
1975-04-30 2.151076
1975-05-31 2.936943
FMAC/HPI_AK
AK
Date
1975-01-31 0.000000
1975-02-28 1.525922
1975-03-31 3.085528
1975-04-30 4.700044
1975-05-31 6.437680
FMAC/HPI_AZ
AZ
Date
1975-01-31 0.000000
1975-02-28 1.850173
1975-03-31 3.593314
1975-04-30 4.949362
1975-05-31 5.657356
FMAC/HPI_AR
AR
Date
1975-01-31 0.000000
1975-02-28 0.922896
1975-03-31 1.727945
1975-04-30 2.378729
1975-05-31 2.990348
FMAC/HPI_CA
CA
Date
1975-01-31 0.000000
1975-02-28 0.324025
1975-03-31 1.530573
1975-04-30 3.521340
1975-05-31 5.179892
FMAC/HPI_CO
CO
Date
1975-01-31 0.000000
1975-02-28 1.159718
1975-03-31 2.314112
1975-04-30 3.400535
1975-05-31 4.313035
FMAC/HPI_CT
CT
Date
1975-01-31 0.000000
1975-02-28 2.199695
1975-03-31 3.863287
1975-04-30 4.798768
1975-05-31 5.082566
FMAC/HPI_DE
DE
Date
1975-01-31 0.000000
1975-02-28 -0.028757
1975-03-31 0.058406
1975-04-30 0.422704
1975-05-31 1.167247
FMAC/HPI_FL
FL
Date
1975-01-31 0.000000
1975-02-28 3.917665
1975-03-31 9.664538
1975-04-30 16.710256
1975-05-31 17.466419
FMAC/HPI_GA
GA
Date
1975-01-31 0.000000
1975-02-28 -0.892923
1975-03-31 -1.260113
1975-04-30 -1.055758
1975-05-31 -0.702246
FMAC/HPI_HI
HI
Date
1975-01-31 0.000000
1975-02-28 -0.233436
1975-03-31 -0.287539
1975-04-30 -0.071832
1975-05-31 0.386500
FMAC/HPI_ID
ID
Date
1975-01-31 0.000000
1975-02-28 -0.156229
1975-03-31 -0.324616
1975-04-30 -0.455436
1975-05-31 -0.470622
FMAC/HPI_IL
IL
Date
1975-01-31 0.000000
1975-02-28 0.874495
1975-03-31 1.968541
1975-04-30 3.117670
1975-05-31 3.784434
FMAC/HPI_IN
IN
Date
1975-01-31 0.000000
1975-02-28 1.386428
1975-03-31 2.732037
1975-04-30 3.812767
1975-05-31 4.446395
FMAC/HPI_IA
IA
Date
1975-01-31 0.000000
1975-02-28 1.654887
1975-03-31 3.153691
1975-04-30 4.321950
1975-05-31 5.049089
FMAC/HPI_KS
KS
Date
1975-01-31 0.000000
1975-02-28 1.125123
1975-03-31 2.369085
1975-04-30 3.665571
1975-05-31 4.903573
FMAC/HPI_KY
KY
Date
1975-01-31 0.000000
1975-02-28 0.130390
1975-03-31 0.222082
1975-04-30 0.443149
1975-05-31 1.102072
FMAC/HPI_LA
LA
Date
1975-01-31 0.000000
1975-02-28 1.885926
1975-03-31 3.786053
1975-04-30 5.233902
1975-05-31 5.943873
FMAC/HPI_ME
ME
Date
1975-01-31 0.000000
1975-02-28 -0.443988
1975-03-31 -0.764071
1975-04-30 -0.879068
1975-05-31 -0.722483
FMAC/HPI_MD
MD
Date
1975-01-31 0.000000
1975-02-28 -0.317389
1975-03-31 -0.474886
1975-04-30 -0.318771
1975-05-31 0.123133
FMAC/HPI_MA
MA
Date
1975-01-31 0.000000
1975-02-28 -0.637488
1975-03-31 -1.281084
1975-04-30 -1.797032
1975-05-31 -2.034558
FMAC/HPI_MI
MI
Date
1975-01-31 0.000000
1975-02-28 1.474945
1975-03-31 2.674922
1975-04-30 3.407681
1975-05-31 3.610956
FMAC/HPI_MN
MN
Date
1975-01-31 0.000000
1975-02-28 1.000795
1975-03-31 1.863569
1975-04-30 2.673810
1975-05-31 3.639407
FMAC/HPI_MS
MS
Date
1975-01-31 0.000000
1975-02-28 -0.673340
1975-03-31 -1.158645
1975-04-30 -1.337337
1975-05-31 -1.197002
FMAC/HPI_MO
MO
Date
1975-01-31 0.000000
1975-02-28 4.444525
1975-03-31 8.938059
1975-04-30 12.588617
1975-05-31 12.391981
FMAC/HPI_MT
MT
Date
1975-01-31 0.000000
1975-02-28 1.171026
1975-03-31 2.416414
1975-04-30 3.697623
1975-05-31 4.886304
FMAC/HPI_NE
NE
Date
1975-01-31 0.000000
1975-02-28 -0.045299
1975-03-31 -0.104904
1975-04-30 -0.170394
1975-05-31 -0.250000
FMAC/HPI_NV
NV
Date
1975-01-31 0.000000
1975-02-28 1.701379
1975-03-31 3.343789
1975-04-30 4.866434
1975-05-31 6.218143
FMAC/HPI_NH
NH
Date
1975-01-31 0.000000
1975-02-28 1.550912
1975-03-31 2.971583
1975-04-30 4.149682
1975-05-31 4.981880
FMAC/HPI_NJ
NJ
Date
1975-01-31 0.000000
1975-02-28 -2.266586
1975-03-31 -3.595479
1975-04-30 -3.696153
1975-05-31 -2.951526
FMAC/HPI_NM
NM
Date
1975-01-31 0.000000
1975-02-28 1.494230
1975-03-31 2.911627
1975-04-30 4.060994
1975-05-31 4.917877
FMAC/HPI_NY
NY
Date
1975-01-31 0.000000
1975-02-28 -1.992572
1975-03-31 -2.873884
1975-04-30 -2.847982
1975-05-31 -2.288766
FMAC/HPI_NC
NC
Date
1975-01-31 0.000000
1975-02-28 1.023518
1975-03-31 1.918793
1975-04-30 2.706824
1975-05-31 3.378153
FMAC/HPI_ND
ND
Date
1975-01-31 0.000000
1975-02-28 -0.262471
1975-03-31 -0.399564
1975-04-30 -0.239049
1975-05-31 0.267830
FMAC/HPI_OH
OH
Date
1975-01-31 0.000000
1975-02-28 0.176856
1975-03-31 0.733177
1975-04-30 1.483376
1975-05-31 2.270290
FMAC/HPI_OK
OK
Date
1975-01-31 0.000000
1975-02-28 -0.312035
1975-03-31 -0.486877
1975-04-30 -0.602721
1975-05-31 -0.683515
FMAC/HPI_OR
OR
Date
1975-01-31 0.000000
1975-02-28 2.465818
1975-03-31 4.804198
1975-04-30 6.920285
1975-05-31 8.948184
FMAC/HPI_PA
PA
Date
1975-01-31 0.000000
1975-02-28 1.223319
1975-03-31 2.190722
1975-04-30 2.924476
1975-05-31 3.765253
FMAC/HPI_RI
RI
Date
1975-01-31 0.000000
1975-02-28 2.080601
1975-03-31 4.183871
1975-04-30 6.300877
1975-05-31 8.356600
FMAC/HPI_SC
SC
Date
1975-01-31 0.000000
1975-02-28 1.224952
1975-03-31 2.132776
1975-04-30 2.625634
1975-05-31 2.924727
FMAC/HPI_SD
SD
Date
1975-01-31 0.000000
1975-02-28 -1.104275
1975-03-31 -2.228783
1975-04-30 -3.349551
1975-05-31 -4.374747
FMAC/HPI_TN
TN
Date
1975-01-31 0.000000
1975-02-28 0.158526
1975-03-31 0.436977
1975-04-30 0.831861
1975-05-31 1.285606
FMAC/HPI_TX
TX
Date
1975-01-31 0.000000
1975-02-28 1.018284
1975-03-31 2.821144
1975-04-30 5.433889
1975-05-31 6.207614
FMAC/HPI_UT
UT
Date
1975-01-31 0.000000
1975-02-28 1.437665
1975-03-31 2.720382
1975-04-30 3.727354
1975-05-31 4.383221
FMAC/HPI_VT
VT
Date
1975-01-31 0.000000
1975-02-28 1.191647
1975-03-31 2.344805
1975-04-30 3.397737
1975-05-31 4.323873
FMAC/HPI_VA
VA
Date
1975-01-31 0.000000
1975-02-28 1.042032
1975-03-31 1.813966
1975-04-30 2.398890
1975-05-31 2.905144
FMAC/HPI_WA
WA
Date
1975-01-31 0.000000
1975-02-28 0.374531
1975-03-31 0.993931
1975-04-30 1.756513
1975-05-31 2.466806
FMAC/HPI_WV
WV
Date
1975-01-31 0.000000
1975-02-28 2.546984
1975-03-31 5.200089
1975-04-30 7.935714
1975-05-31 10.686231
FMAC/HPI_WI
WI
Date
1975-01-31 0.000000
1975-02-28 1.332240
1975-03-31 2.654010
1975-04-30 3.848804
1975-05-31 4.839774
FMAC/HPI_WY
WY
Date
1975-01-31 0.000000
1975-02-28 1.562976
1975-03-31 3.207837
1975-04-30 4.889513
1975-05-31 6.491423