In [3]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from datetime import datetime
In [2]:
#orig = pd.read_csv('OlonOlatIntersect_329547.csv')
#dest = pd.read_csv('DlonDlatIntersect_329547.csv')
orig2= pd.read_csv('ForGengGIS/OwithBG.csv')
dest2= pd.read_csv('ForGengGIS/DwithBG.csv')
od = pd.read_csv('Car2goOD.csv')
#block =pd.read_csv('SelectedBlock.csv')
block2=pd.read_csv('ForGengGIS/bg_selection.csv')
print(orig2.shape, dest2.shape, od.shape, block2.shape)
(329479, 33) (329479, 33) (329478, 14) (560, 17)
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/IPython/core/interactiveshell.py:2723: DtypeWarning: Columns (13) have mixed types. Specify dtype option on import or set low_memory=False.
interactivity=interactivity, compiler=compiler, result=result)
In [ ]:
In [ ]:
In [3]:
print(od.columns)
od.tail()
Index(['id', 'otime', 'dtime', 'olon', 'olat', 'dlon', 'dlat', 'distance',
'ofuel', 'dfuel', 'fuel_consumption', 'Unnamed: 11', 'Unnamed: 12',
'Unnamed: 13'],
dtype='object')
Out[3]:
id
otime
dtime
olon
olat
dlon
dlat
distance
ofuel
dfuel
fuel_consumption
Unnamed: 11
Unnamed: 12
Unnamed: 13
329473
AXG5757
2016/5/10 23:30
2016/5/10 23:59
-122.31027
47.60822
-122.33710
47.60337
1.298
33
33
0
NaN
NaN
NaN
329474
ATZ5056
2016/5/10 23:34
2016/5/10 23:57
-122.38874
47.68294
-122.36510
47.63340
3.596
63
60
3
NaN
NaN
NaN
329475
AWX9242
2016/5/10 23:36
2016/5/10 23:52
-122.38503
47.66777
-122.37906
47.67311
0.462
100
100
0
NaN
NaN
NaN
329476
ATZ5036
2016/5/10 23:43
2016/5/10 23:48
-122.30742
47.62516
-122.31260
47.62106
0.373
45
45
0
NaN
NaN
NaN
329477
AXG4728
2016/5/10 23:48
2016/5/10 23:58
-122.32785
47.61453
-122.32045
47.62527
0.819
57
54
3
NaN
NaN
NaN
In [5]:
# key for od is id+otime or id+dtime
od[od[['id', 'dtime']].duplicated()]
Out[5]:
id
otime
dtime
olon
olat
dlon
dlat
distance
ofuel
dfuel
fuel_consumption
Unnamed: 11
Unnamed: 12
Unnamed: 13
In [21]:
od.id.describe()
Out[21]:
count 329478
unique 806
top AWY0345
freq 575
Name: id, dtype: object
In [ ]:
In [ ]:
In [4]:
print(block2.columns)
block2.tail()
# it looks 'OBJECTID_1' is just some ordinary index, and 'OBJECTID' (48-1422) is the real blockgroup id
Index(['OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10', 'BLKGRPCE10',
'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10', 'ALAND10', 'AWATER10',
'INTPTLAT10', 'INTPTLON10', 'Shape_Leng', 'Shape_Area', 'TRACT',
'TRBG'],
dtype='object')
Out[4]:
OBJECTID
STATEFP10
COUNTYFP10
TRACTCE10
BLKGRPCE10
GEOID10
NAMELSAD10
MTFCC10
FUNCSTAT10
ALAND10
AWATER10
INTPTLAT10
INTPTLON10
Shape_Leng
Shape_Area
TRACT
TRBG
555
1418
53
33
10401
2
530330104012
Block Group 2
G5030
S
633184.0
0.0
47.554268
-122.297519
15472.379184
6.815354e+06
10401
10401.2
556
1419
53
33
10702
2
530330107022
Block Group 2
G5030
S
207946.0
0.0
47.546221
-122.371588
7259.357753
2.238254e+06
10702
10702.2
557
1420
53
33
26500
2
530330265002
Block Group 2
G5030
S
523894.0
0.0
47.514584
-122.349354
10476.276574
5.639086e+06
26500
26500.2
558
1421
53
33
12000
2
530330120002
Block Group 2
G5030
S
508713.0
0.0
47.510083
-122.380542
13369.288284
5.475700e+06
12000
12000.2
559
1422
53
33
11900
1
530330119001
Block Group 1
G5030
S
590810.0
1320016.0
47.510209
-122.239265
27337.790209
2.056778e+07
11900
11900.1
In [5]:
block2.OBJECTID.describe()
Out[5]:
count 560.000000
mean 739.212500
std 409.002897
min 25.000000
25% 404.750000
50% 729.500000
75% 1069.000000
max 1422.000000
Name: OBJECTID, dtype: float64
In [6]:
len(block2.OBJECTID.unique())
#len(block2.OBJECTID_1.unique())
Out[6]:
560
In [48]:
print(block.columns)
block.tail()
Index(['OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10', 'BLOCKCE10',
'GEOID10', 'NAME10', 'MTFCC10', 'UR10', 'UACE10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'TRACT_10',
'Shape_Leng', 'Shape_Area', 'TRBL'],
dtype='object')
Out[48]:
OBJECTID
STATEFP10
COUNTYFP10
TRACTCE10
BLOCKCE10
GEOID10
NAME10
MTFCC10
UR10
UACE10
FUNCSTAT10
ALAND10
AWATER10
INTPTLAT10
INTPTLON10
TRACT_10
Shape_Leng
Shape_Area
TRBL
16768
35821
53
33
26002
1010
530330260021010
Block 1010
G5040
NaN
NaN
S
3050.0
0.0
47.477009
-122.225155
26002
0.002638
3.639500e-07
26002.1010
16769
35824
53
33
23900
3006
530330239003006
Block 3006
G5040
NaN
NaN
S
25968.0
0.0
47.587391
-122.205143
23900
0.007388
3.105230e-06
23900.3006
16770
35825
53
33
23900
4026
530330239004026
Block 4026
G5040
NaN
NaN
S
6776.0
0.0
47.559004
-122.190780
23900
0.005107
8.098000e-07
23900.4026
16771
35826
53
33
24602
2008
530330246022008
Block 2008
G5040
NaN
NaN
S
25779.0
0.0
47.537500
-122.220007
24602
0.008605
3.079560e-06
24602.2008
16772
35832
53
33
22102
1018
530330221021018
Block 1018
G5040
NaN
NaN
S
79243.0
0.0
47.736264
-122.218108
22102
0.019371
9.502250e-06
22102.1018
In [ ]:
# block has 16773 rows
# the key is TRACTCE10+BLOCKCE10, or OBJECTID
In [54]:
len(block.OBJECTID.unique())
Out[54]:
16773
In [34]:
block.groupby(['TRACTCE10','BLOCKCE10']).count().OBJECTID.shape
Out[34]:
(16773,)
In [32]:
# each tract can have multiple blocks
plt.figure(figsize=(15, 3))
plt.subplot(121)
plt.plot(block.groupby(['TRACTCE10']).count().OBJECTID, 'o-')
plt.xlim(0,20000)
# each tract can have multiple blocks
plt.subplot(122)
plt.plot(block.groupby(['BLOCKCE10']).count().OBJECTID, 'o-')
plt.xlim(0,10000)
Out[32]:
(0, 10000)
In [ ]:
In [ ]:
In [7]:
print(od.columns, block2.columns)
Index(['id', 'otime', 'dtime', 'olon', 'olat', 'dlon', 'dlat', 'distance',
'ofuel', 'dfuel', 'fuel_consumption', 'Unnamed: 11', 'Unnamed: 12',
'Unnamed: 13'],
dtype='object') Index(['OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10', 'BLKGRPCE10',
'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10', 'ALAND10', 'AWATER10',
'INTPTLAT10', 'INTPTLON10', 'Shape_Leng', 'Shape_Area', 'TRACT',
'TRBG'],
dtype='object')
In [9]:
print(orig2.columns)
orig2.loc[:, :].tail()
Index(['FID_kc_bg_', 'OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10',
'BLKGRPCE10', 'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'Shape_Leng',
'Shape_Area', 'TRACT', 'TRBG', 'FID_ocars', 'id', 'otime', 'dtime',
'olon', 'olat', 'dlon', 'dlat', 'distance', 'ofuel', 'dfuel',
'fuel_consu', 'F12', 'F13', 'F14'],
dtype='object')
Out[9]:
FID_kc_bg_
OBJECTID
STATEFP10
COUNTYFP10
TRACTCE10
BLKGRPCE10
GEOID10
NAMELSAD10
MTFCC10
FUNCSTAT10
...
olat
dlon
dlat
distance
ofuel
dfuel
fuel_consu
F12
F13
F14
329474
1206
1207
53
33
21000
3
530330210003
Block Group 3
G5030
S
...
47.73429
-122.31433
47.65696
5.500
100.0
96.0
4.0
NaN
NaN
NaN
329475
1210
1211
53
33
20900
1
530330209001
Block Group 1
G5030
S
...
47.73424
-122.35657
47.71422
1.466
45.0
42.0
3.0
NaN
NaN
NaN
329476
1210
1211
53
33
20900
1
530330209001
Block Group 1
G5030
S
...
47.73426
-122.35620
47.72907
0.589
24.0
24.0
0.0
NaN
NaN
NaN
329477
1210
1211
53
33
20900
1
530330209001
Block Group 1
G5030
S
...
47.73427
-122.34492
47.69924
2.421
100.0
100.0
0.0
NaN
NaN
NaN
329478
1210
1211
53
33
20900
1
530330209001
Block Group 1
G5030
S
...
47.73431
-122.39058
47.67246
4.745
42.0
42.0
0.0
NaN
NaN
NaN
5 rows × 33 columns
In [13]:
print(len(orig2.FID_kc_bg_.unique()), len(orig2.OBJECTID.unique()))
print(orig2.FID_kc_bg_.describe())
print(orig2.OBJECTID.describe())
# these 2 differ in 0-index or 1-index
494 494
count 329479.000000
mean 823.389075
std 429.724160
min 47.000000
25% 410.000000
50% 903.000000
75% 1225.000000
max 1421.000000
Name: FID_kc_bg_, dtype: float64
count 329479.000000
mean 830.577530
std 429.598419
min 48.000000
25% 411.000000
50% 958.000000
75% 1226.000000
max 1422.000000
Name: OBJECTID, dtype: float64
In [25]:
print(block2[block2.OBJECTID == 1422]['Shape_Area'])
#orig2[orig2.OBJECTID == 1422]['Shape_Area']
559 2.056778e+07
Name: Shape_Area, dtype: float64
In [26]:
orig2.FID_ocars.describe()
Out[26]:
count 329479.000000
mean 164737.698381
std 95111.614512
min 0.000000
25% 82369.500000
50% 164740.000000
75% 247104.500000
max 329477.000000
Name: FID_ocars, dtype: float64
In [11]:
print(orig.columns)
orig.loc[:, :'BLOCKCE10'].tail()
Index(['OBJECTID', 'FID_Select', 'id', 'otime', 'dtime', 'olon', 'olat',
'dlon', 'dlat', 'distance', 'ofuel', 'dfuel', 'fuel_consu',
'FID_Sele_1', 'OBJECTID_1', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10',
'BLKGRPCE10', 'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'Shape_Leng',
'TRACT', 'TRBG'],
dtype='object')
In [ ]:
# OBJECTID is the col from block
# FID_OlonOl is the index from od
# Im not sure how OBJECTID_1 was generated. maybe when merged in arcgis?
In [20]:
len(orig.OBJECTID.unique())
Out[20]:
9000
In [70]:
orig.OBJECTID.describe()
Out[70]:
count 329547.000000
mean 18148.949230
std 9573.392181
min 1.000000
25% 10540.000000
50% 18850.000000
75% 25820.000000
max 35434.000000
Name: OBJECTID, dtype: float64
In [74]:
orig.FID_OlonOl.describe()
Out[74]:
count 329547.000000
mean 164739.058316
std 95110.515886
min 0.000000
25% 82375.500000
50% 164739.000000
75% 247104.500000
max 329477.000000
Name: FID_OlonOl, dtype: float64
In [ ]:
In [ ]:
In [34]:
orig2[orig2.FID_ocars == 101]['id']
od.iloc[101]['id']
Out[34]:
61799 AXG5610
Name: id, dtype: object
In [35]:
dest2.columns
Out[35]:
Index(['FID_kc_bg_', 'OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10',
'BLKGRPCE10', 'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'Shape_Leng',
'Shape_Area', 'TRACT', 'TRBG', 'FID_dcarst', 'id', 'otime', 'dtime',
'olon', 'olat', 'dlon', 'dlat', 'distance', 'ofuel', 'dfuel',
'fuel_consu', 'F12', 'F13', 'F14'],
dtype='object')
In [37]:
# clean duplicate in orig and dest
# we verified that arcgis can place a pt twice in 2 regions if the pt falls on the boundary
# note that we have 329473 pts, compared to 329478 from od. cuz we threw out 5 pts out of bound
print(orig2.shape, dest2.shape)
orig2=orig2[~ orig2['FID_ocars'].duplicated()]
dest2=dest2[~ dest2['FID_dcarst'].duplicated()]
print(orig2.shape, dest2.shape)
(329479, 33) (329479, 33)
(329470, 33) (329470, 33)
In [38]:
# add fid explicitly in od
od['fid']=od.index
od.head()
Out[38]:
id
otime
dtime
olon
olat
dlon
dlat
distance
ofuel
dfuel
fuel_consumption
Unnamed: 11
Unnamed: 12
Unnamed: 13
fid
0
AXG5761
2016/1/23 0:02
2016/1/23 0:29
-122.34148
47.63633
-122.34857
47.65491
1.326
63
63
0
NaN
NaN
NaN
0
1
ATZ5067
2016/1/23 0:02
2016/1/23 0:18
-122.30490
47.61251
-122.31481
47.58820
1.742
30
30
0
NaN
NaN
NaN
1
2
AUK2223
2016/1/23 0:02
2016/1/23 0:27
-122.28432
47.55700
-122.35897
47.66690
8.355
100
100
0
NaN
NaN
NaN
2
3
ATS2928
2016/1/23 0:04
2016/1/23 0:25
-122.36445
47.66644
-122.34596
47.70566
2.844
100
100
0
NaN
NaN
NaN
3
4
AXG4702
2016/1/23 0:04
2016/1/23 0:51
-122.33523
47.57528
-122.38755
47.68656
8.067
54
51
3
NaN
NaN
NaN
4
In [39]:
keepcol = ['id', 'otime', 'dtime', 'fid' ]
od = od.drop([col for col in od.columns if col not in keepcol], axis=1)
od.head()
Out[39]:
id
otime
dtime
fid
0
AXG5761
2016/1/23 0:02
2016/1/23 0:29
0
1
ATZ5067
2016/1/23 0:02
2016/1/23 0:18
1
2
AUK2223
2016/1/23 0:02
2016/1/23 0:27
2
3
ATS2928
2016/1/23 0:04
2016/1/23 0:25
3
4
AXG4702
2016/1/23 0:04
2016/1/23 0:51
4
In [ ]:
In [ ]:
In [40]:
orig2.columns
Out[40]:
Index(['FID_kc_bg_', 'OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10',
'BLKGRPCE10', 'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'Shape_Leng',
'Shape_Area', 'TRACT', 'TRBG', 'FID_ocars', 'id', 'otime', 'dtime',
'olon', 'olat', 'dlon', 'dlat', 'distance', 'ofuel', 'dfuel',
'fuel_consu', 'F12', 'F13', 'F14'],
dtype='object')
In [41]:
keepcol = ['id', 'otime', 'dtime', 'OBJECTID', 'Shape_Area']
# orig = orig.drop([col for col in orig.columns if col not in keepcol], axis=1)
# orig.head()
o=pd.DataFrame()
for col in keepcol:
o['o_'+ col] = orig2[col]
o['fid'] = orig2.FID_ocars
o.head()
Out[41]:
o_id
o_otime
o_dtime
o_OBJECTID
o_Shape_Area
fid
0
AXG5024
3/13/2016
3/13/2016
131
7.307315e+06
153629
1
AXG5473
3/2/2016
3/2/2016
131
7.307315e+06
118750
2
AXG4694
4/25/2016
4/25/2016
131
7.307315e+06
290159
3
AXG4772
2/21/2016
2/21/2016
131
7.307315e+06
89665
4
AXG5473
3/29/2016
3/29/2016
131
7.307315e+06
207443
In [ ]:
In [ ]:
In [42]:
dest2.columns
Out[42]:
Index(['FID_kc_bg_', 'OBJECTID', 'STATEFP10', 'COUNTYFP10', 'TRACTCE10',
'BLKGRPCE10', 'GEOID10', 'NAMELSAD10', 'MTFCC10', 'FUNCSTAT10',
'ALAND10', 'AWATER10', 'INTPTLAT10', 'INTPTLON10', 'Shape_Leng',
'Shape_Area', 'TRACT', 'TRBG', 'FID_dcarst', 'id', 'otime', 'dtime',
'olon', 'olat', 'dlon', 'dlat', 'distance', 'ofuel', 'dfuel',
'fuel_consu', 'F12', 'F13', 'F14'],
dtype='object')
In [43]:
keepcol = ['id', 'otime', 'dtime', 'OBJECTID', 'Shape_Area']
#dest = dest.drop([col for col in dest.columns if col not in keepcol], axis=1)
#dest.head()
d=pd.DataFrame()
for col in keepcol:
d['d_'+ col] = dest2[col]
d['fid'] = dest2.FID_dcarst
d.head()
Out[43]:
d_id
d_otime
d_dtime
d_OBJECTID
d_Shape_Area
fid
0
AKN2764
4/8/2016
4/8/2016
822
8.835412e+06
242713
1
AXG5024
3/12/2016
3/12/2016
131
7.307315e+06
152205
2
AXG5473
3/1/2016
3/1/2016
131
7.307315e+06
117152
3
AXG4694
4/24/2016
4/24/2016
131
7.307315e+06
289835
4
AXG4772
2/20/2016
2/20/2016
131
7.307315e+06
87616
In [ ]:
In [ ]:
In [44]:
d.sort_values('fid').head()
Out[44]:
d_id
d_otime
d_dtime
d_OBJECTID
d_Shape_Area
fid
231052
AXG5761
1/23/2016
1/23/2016
329
3.658591e+06
0
43582
ATZ5067
1/23/2016
1/23/2016
956
1.264760e+06
1
261893
AUK2223
1/23/2016
1/23/2016
334
2.971310e+06
2
318462
ATS2928
1/23/2016
1/23/2016
974
2.638438e+06
3
301885
AXG4702
1/23/2016
1/23/2016
698
3.291448e+06
4
In [45]:
o.sort_values('fid').head()
Out[45]:
o_id
o_otime
o_dtime
o_OBJECTID
o_Shape_Area
fid
196430
AXG5761
1/23/2016
1/23/2016
1391
5.227531e+06
0
95870
ATZ5067
1/23/2016
1/23/2016
1133
2.078485e+06
1
16948
AUK2223
1/23/2016
1/23/2016
594
3.974056e+06
2
260918
ATS2928
1/23/2016
1/23/2016
331
3.086695e+06
3
30613
AXG4702
1/23/2016
1/23/2016
957
7.246766e+07
4
In [46]:
od.head()
Out[46]:
id
otime
dtime
fid
0
AXG5761
2016/1/23 0:02
2016/1/23 0:29
0
1
ATZ5067
2016/1/23 0:02
2016/1/23 0:18
1
2
AUK2223
2016/1/23 0:02
2016/1/23 0:27
2
3
ATS2928
2016/1/23 0:04
2016/1/23 0:25
3
4
AXG4702
2016/1/23 0:04
2016/1/23 0:51
4
In [ ]:
In [ ]:
In [64]:
# now we have od, o and d
ood = pd.merge(o, od, on='fid')
oodd =pd.merge(ood, d, on='fid')
oodd.head()
Out[64]:
o_id
o_otime
o_dtime
o_OBJECTID
o_Shape_Area
fid
id
otime
dtime
d_id
d_otime
d_dtime
d_OBJECTID
d_Shape_Area
0
AXG5024
3/13/2016
3/13/2016
131
7.307315e+06
153629
AXG5024
2016/3/13 7:33
2016/3/13 8:16
AXG5024
3/13/2016
3/13/2016
1225
2.551659e+06
1
AXG5473
3/2/2016
3/2/2016
131
7.307315e+06
118750
AXG5473
2016/3/2 5:28
2016/3/2 5:49
AXG5473
3/2/2016
3/2/2016
958
2.864498e+07
2
AXG4694
4/25/2016
4/25/2016
131
7.307315e+06
290159
AXG4694
2016/4/25 6:00
2016/4/25 6:37
AXG4694
4/25/2016
4/25/2016
1410
8.603791e+06
3
AXG4772
2/21/2016
2/21/2016
131
7.307315e+06
89665
AXG4772
2016/2/21 12:57
2016/2/21 13:38
AXG4772
2/21/2016
2/21/2016
1308
3.171054e+06
4
AXG5473
3/29/2016
3/29/2016
131
7.307315e+06
207443
AXG5473
2016/3/29 12:03
2016/3/29 12:27
AXG5473
3/29/2016
3/29/2016
680
2.607712e+06
In [65]:
oodd.columns
Out[65]:
Index(['o_id', 'o_otime', 'o_dtime', 'o_OBJECTID', 'o_Shape_Area', 'fid', 'id',
'otime', 'dtime', 'd_id', 'd_otime', 'd_dtime', 'd_OBJECTID',
'd_Shape_Area'],
dtype='object')
In [66]:
oodd.d_id.equals(oodd.id)
Out[66]:
True
In [67]:
oodd = oodd.drop(['o_id', 'o_otime', 'o_dtime', 'd_id', 'd_otime','d_dtime'],axis=1)
In [68]:
oodd.head()
Out[68]:
o_OBJECTID
o_Shape_Area
fid
id
otime
dtime
d_OBJECTID
d_Shape_Area
0
131
7.307315e+06
153629
AXG5024
2016/3/13 7:33
2016/3/13 8:16
1225
2.551659e+06
1
131
7.307315e+06
118750
AXG5473
2016/3/2 5:28
2016/3/2 5:49
958
2.864498e+07
2
131
7.307315e+06
290159
AXG4694
2016/4/25 6:00
2016/4/25 6:37
1410
8.603791e+06
3
131
7.307315e+06
89665
AXG4772
2016/2/21 12:57
2016/2/21 13:38
1308
3.171054e+06
4
131
7.307315e+06
207443
AXG5473
2016/3/29 12:03
2016/3/29 12:27
680
2.607712e+06
In [69]:
print(len(oodd.d_OBJECTID.unique()), len(oodd.o_OBJECTID.unique()))
495 494
In [70]:
#oodd.to_pickle('oodd2.df')
#oodd = pd.read_pickle('oodd2.df')
In [71]:
oodd['ohour']= pd.DatetimeIndex(oodd.otime).hour
oodd['dhour']= pd.DatetimeIndex(oodd.dtime).hour
In [78]:
oodd.head()
Out[78]:
o_OBJECTID
o_Shape_Area
fid
id
otime
dtime
d_OBJECTID
d_Shape_Area
ohour
dhour
0
131
7.307315e+06
153629
AXG5024
2016/3/13 7:33
2016/3/13 8:16
1225
2.551659e+06
7
8
1
131
7.307315e+06
118750
AXG5473
2016/3/2 5:28
2016/3/2 5:49
958
2.864498e+07
5
5
2
131
7.307315e+06
290159
AXG4694
2016/4/25 6:00
2016/4/25 6:37
1410
8.603791e+06
6
6
3
131
7.307315e+06
89665
AXG4772
2016/2/21 12:57
2016/2/21 13:38
1308
3.171054e+06
12
13
4
131
7.307315e+06
207443
AXG5473
2016/3/29 12:03
2016/3/29 12:27
680
2.607712e+06
12
12
In [79]:
dmap=oodd.groupby(['dhour','d_OBJECTID']).fid.count()
omap=oodd.groupby(['ohour','o_OBJECTID']).fid.count()
In [80]:
dmap.unstack(level=0, fill_value=0).shape
Out[80]:
(495, 24)
In [81]:
influxmap = dmap.unstack(level=0,fill_value=0)-omap.unstack(level=0, fill_value=0)
influxmap
Out[81]:
dhour
0
1
2
3
4
5
6
7
8
9
...
14
15
16
17
18
19
20
21
22
23
48
0.0
0.0
-1.0
-1.0
1.0
0.0
-3.0
-6.0
2.0
-1.0
...
-2.0
4.0
3.0
0.0
3.0
-1.0
1.0
0.0
3.0
1.0
49
0.0
0.0
1.0
2.0
1.0
0.0
-2.0
-3.0
0.0
0.0
...
-1.0
0.0
1.0
0.0
0.0
-1.0
0.0
-1.0
0.0
1.0
50
-1.0
1.0
1.0
0.0
0.0
-3.0
-3.0
-4.0
-3.0
-1.0
...
-6.0
-1.0
-1.0
1.0
-1.0
7.0
6.0
1.0
-2.0
0.0
51
-1.0
0.0
0.0
1.0
-1.0
-8.0
-14.0
-8.0
-1.0
-2.0
...
-3.0
-2.0
1.0
11.0
1.0
3.0
14.0
8.0
2.0
2.0
52
5.0
0.0
0.0
10.0
-1.0
-2.0
-5.0
5.0
-40.0
-16.0
...
7.0
30.0
26.0
4.0
1.0
3.0
-21.0
-17.0
8.0
10.0
53
8.0
2.0
1.0
0.0
-2.0
-17.0
-28.0
-39.0
-28.0
-13.0
...
7.0
8.0
2.0
21.0
29.0
6.0
7.0
22.0
11.0
10.0
54
0.0
4.0
1.0
3.0
2.0
5.0
27.0
52.0
58.0
7.0
...
-8.0
6.0
-58.0
-11.0
-8.0
-13.0
-8.0
-4.0
-13.0
-1.0
55
7.0
0.0
2.0
1.0
-2.0
-5.0
-13.0
-25.0
-42.0
-8.0
...
16.0
0.0
10.0
4.0
20.0
14.0
18.0
11.0
4.0
2.0
56
15.0
2.0
0.0
-1.0
0.0
4.0
65.0
49.0
15.0
7.0
...
-15.0
-8.0
-44.0
-20.0
-13.0
8.0
-14.0
-15.0
-8.0
-9.0
57
5.0
8.0
1.0
-1.0
-7.0
-32.0
-40.0
6.0
-16.0
-31.0
...
4.0
14.0
-3.0
6.0
5.0
23.0
-5.0
30.0
8.0
16.0
58
9.0
18.0
0.0
5.0
-12.0
-31.0
-99.0
-57.0
-15.0
10.0
...
12.0
11.0
29.0
-3.0
12.0
-10.0
10.0
37.0
42.0
28.0
59
8.0
1.0
1.0
1.0
-7.0
-14.0
-47.0
-51.0
-33.0
3.0
...
18.0
23.0
14.0
26.0
8.0
-5.0
9.0
1.0
21.0
13.0
60
10.0
1.0
9.0
-4.0
-6.0
-17.0
-23.0
-58.0
11.0
13.0
...
2.0
-11.0
7.0
-3.0
-26.0
6.0
-5.0
27.0
22.0
13.0
61
6.0
8.0
8.0
3.0
1.0
-17.0
-36.0
-52.0
-9.0
-2.0
...
19.0
1.0
31.0
15.0
10.0
7.0
-2.0
-5.0
4.0
3.0
62
-10.0
-5.0
1.0
0.0
-1.0
-30.0
-15.0
-20.0
-36.0
-7.0
...
23.0
16.0
38.0
17.0
12.0
16.0
11.0
-9.0
-9.0
-6.0
63
6.0
11.0
13.0
-7.0
6.0
5.0
-57.0
-51.0
-46.0
-14.0
...
36.0
-3.0
26.0
6.0
-15.0
-7.0
1.0
10.0
33.0
-7.0
64
-1.0
2.0
5.0
0.0
0.0
-1.0
-12.0
-22.0
17.0
3.0
...
-15.0
1.0
16.0
2.0
-10.0
0.0
-3.0
-6.0
6.0
5.0
65
5.0
4.0
2.0
-3.0
-10.0
8.0
-38.0
-66.0
-34.0
-18.0
...
25.0
21.0
-3.0
0.0
4.0
14.0
6.0
11.0
11.0
10.0
66
6.0
0.0
0.0
1.0
0.0
-1.0
-12.0
-13.0
-9.0
-16.0
...
5.0
4.0
12.0
30.0
27.0
14.0
1.0
2.0
3.0
3.0
67
2.0
5.0
1.0
-1.0
-1.0
-14.0
-18.0
-17.0
-7.0
-2.0
...
0.0
30.0
9.0
0.0
7.0
12.0
-11.0
-12.0
0.0
1.0
68
1.0
0.0
1.0
-1.0
-3.0
-10.0
-20.0
-29.0
-9.0
-21.0
...
5.0
-3.0
18.0
8.0
23.0
12.0
9.0
3.0
-2.0
1.0
69
1.0
2.0
0.0
0.0
1.0
0.0
-2.0
-10.0
-10.0
-10.0
...
2.0
12.0
4.0
4.0
-1.0
-2.0
1.0
3.0
2.0
3.0
70
7.0
3.0
-1.0
0.0
0.0
-1.0
-20.0
-70.0
-58.0
-31.0
...
15.0
23.0
26.0
32.0
11.0
16.0
24.0
17.0
16.0
17.0
71
4.0
7.0
2.0
-2.0
-1.0
-21.0
-11.0
-33.0
2.0
-10.0
...
12.0
15.0
1.0
-3.0
12.0
5.0
-6.0
13.0
12.0
18.0
72
5.0
2.0
-2.0
-5.0
0.0
0.0
15.0
8.0
-3.0
22.0
...
-3.0
14.0
-27.0
-26.0
-2.0
-4.0
-5.0
7.0
-3.0
-11.0
73
-6.0
2.0
0.0
-4.0
2.0
8.0
32.0
44.0
21.0
60.0
...
-26.0
-46.0
-59.0
-49.0
-9.0
2.0
4.0
-5.0
-7.0
-1.0
74
1.0
-10.0
-3.0
-3.0
-2.0
-6.0
-2.0
-5.0
3.0
3.0
...
4.0
0.0
14.0
-1.0
-1.0
-6.0
1.0
9.0
3.0
-13.0
75
-20.0
-12.0
-3.0
-3.0
3.0
-1.0
8.0
17.0
39.0
14.0
...
6.0
41.0
-47.0
-9.0
-12.0
8.0
13.0
2.0
-26.0
-21.0
76
-1.0
-2.0
-1.0
1.0
-1.0
3.0
2.0
4.0
20.0
45.0
...
-10.0
-6.0
-7.0
-2.0
-5.0
-5.0
3.0
-2.0
3.0
-5.0
77
-6.0
-1.0
10.0
4.0
17.0
33.0
15.0
13.0
14.0
28.0
...
-44.0
-28.0
-18.0
-11.0
3.0
11.0
-11.0
-3.0
-7.0
4.0
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
1388
9.0
8.0
-2.0
-2.0
-2.0
-28.0
-70.0
-55.0
-39.0
-23.0
...
31.0
27.0
49.0
18.0
27.0
14.0
7.0
10.0
-3.0
14.0
1389
10.0
8.0
4.0
-1.0
-11.0
-28.0
-75.0
-56.0
-32.0
-18.0
...
6.0
23.0
39.0
25.0
27.0
-5.0
7.0
24.0
13.0
28.0
1390
-1.0
-12.0
-4.0
-1.0
-8.0
-3.0
-30.0
-14.0
12.0
10.0
...
-1.0
19.0
-30.0
-43.0
-28.0
-8.0
22.0
-5.0
0.0
-1.0
1391
5.0
-1.0
-6.0
7.0
21.0
26.0
21.0
38.0
99.0
39.0
...
-6.0
-41.0
-91.0
-38.0
-10.0
-16.0
9.0
8.0
-8.0
-12.0
1392
22.0
29.0
14.0
8.0
-2.0
-55.0
-97.0
-36.0
-19.0
-12.0
...
34.0
-2.0
10.0
-30.0
-6.0
24.0
11.0
34.0
30.0
26.0
1393
6.0
10.0
4.0
-1.0
-4.0
-11.0
79.0
170.0
184.0
51.0
...
-93.0
-172.0
-119.0
-51.0
-28.0
10.0
31.0
8.0
30.0
18.0
1394
-6.0
-7.0
-6.0
-35.0
-17.0
-22.0
-27.0
-27.0
-8.0
-9.0
...
31.0
41.0
68.0
26.0
-32.0
-41.0
15.0
7.0
-5.0
7.0
1395
1.0
-4.0
-1.0
-20.0
-20.0
-28.0
-52.0
-70.0
-17.0
-14.0
...
18.0
33.0
59.0
45.0
0.0
28.0
0.0
-7.0
25.0
2.0
1396
2.0
4.0
0.0
-2.0
-7.0
-8.0
-38.0
-28.0
-46.0
-10.0
...
1.0
28.0
29.0
25.0
21.0
-2.0
7.0
0.0
-2.0
19.0
1397
7.0
2.0
1.0
0.0
-2.0
-3.0
-18.0
-49.0
-35.0
-9.0
...
-7.0
10.0
10.0
15.0
33.0
9.0
17.0
5.0
9.0
10.0
1398
1.0
1.0
-1.0
0.0
-3.0
-5.0
-12.0
-23.0
-13.0
-8.0
...
12.0
8.0
9.0
13.0
26.0
1.0
-1.0
-6.0
-1.0
-6.0
1399
10.0
0.0
0.0
3.0
0.0
-11.0
-24.0
-61.0
-35.0
-15.0
...
-2.0
13.0
3.0
12.0
16.0
15.0
8.0
20.0
12.0
13.0
1400
-1.0
0.0
0.0
0.0
0.0
0.0
-4.0
10.0
-12.0
-12.0
...
3.0
-2.0
3.0
8.0
0.0
3.0
3.0
5.0
4.0
0.0
1401
-1.0
1.0
1.0
1.0
0.0
1.0
21.0
-9.0
0.0
-12.0
...
0.0
6.0
10.0
-13.0
-2.0
0.0
1.0
-10.0
-1.0
9.0
1403
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1.0
0.0
-2.0
...
0.0
0.0
0.0
1.0
0.0
0.0
-1.0
0.0
0.0
0.0
1404
2.0
0.0
1.0
0.0
-1.0
-6.0
-10.0
-16.0
-7.0
-4.0
...
7.0
3.0
11.0
13.0
6.0
9.0
-4.0
-1.0
6.0
5.0
1405
2.0
0.0
1.0
0.0
0.0
-3.0
0.0
-10.0
-6.0
5.0
...
-1.0
5.0
4.0
5.0
3.0
3.0
10.0
7.0
5.0
1.0
1409
4.0
7.0
-1.0
1.0
-3.0
-5.0
-16.0
-5.0
-6.0
-18.0
...
0.0
2.0
8.0
-4.0
6.0
21.0
3.0
0.0
8.0
15.0
1410
-4.0
-5.0
0.0
-1.0
3.0
6.0
66.0
67.0
41.0
71.0
...
2.0
-26.0
-42.0
-74.0
-48.0
-14.0
-12.0
-5.0
-6.0
-1.0
1411
-5.0
-10.0
4.0
2.0
-1.0
8.0
27.0
11.0
42.0
40.0
...
-20.0
-18.0
-38.0
-25.0
5.0
7.0
-14.0
2.0
2.0
-8.0
1412
3.0
6.0
2.0
0.0
-5.0
-13.0
-10.0
-24.0
-22.0
-16.0
...
-8.0
7.0
2.0
13.0
20.0
15.0
11.0
2.0
6.0
13.0
1413
20.0
1.0
1.0
-2.0
-7.0
-38.0
-44.0
20.0
4.0
-4.0
...
18.0
5.0
-11.0
-1.0
34.0
30.0
-21.0
7.0
3.0
3.0
1415
2.0
1.0
0.0
0.0
-1.0
-4.0
-9.0
-57.0
-16.0
0.0
...
-4.0
4.0
32.0
28.0
32.0
13.0
-2.0
-3.0
5.0
4.0
1416
6.0
0.0
5.0
3.0
-3.0
-20.0
-38.0
-36.0
-43.0
-5.0
...
-3.0
7.0
11.0
36.0
18.0
25.0
4.0
5.0
15.0
13.0
1417
3.0
0.0
-1.0
0.0
-1.0
1.0
-6.0
-6.0
-7.0
-5.0
...
4.0
-1.0
7.0
4.0
3.0
9.0
1.0
0.0
-3.0
0.0
1418
2.0
2.0
8.0
0.0
-2.0
1.0
-45.0
-19.0
-15.0
-8.0
...
3.0
1.0
4.0
0.0
31.0
12.0
4.0
15.0
11.0
4.0
1419
1.0
2.0
1.0
0.0
0.0
-1.0
-6.0
-9.0
-10.0
-1.0
...
1.0
-3.0
1.0
4.0
7.0
6.0
2.0
6.0
5.0
3.0
1420
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1421
0.0
0.0
0.0
0.0
0.0
0.0
-2.0
-2.0
-7.0
1.0
...
1.0
-1.0
1.0
-1.0
3.0
7.0
1.0
1.0
0.0
2.0
1422
0.0
0.0
1.0
0.0
0.0
0.0
-2.0
-13.0
0.0
0.0
...
-2.0
-2.0
1.0
13.0
7.0
-2.0
1.0
0.0
0.0
0.0
495 rows × 24 columns
In [82]:
os=set(oodd.o_OBJECTID.unique())
ds=set(oodd.d_OBJECTID.unique())
In [83]:
len(ds |os )
Out[83]:
495
In [87]:
plt.plot(influxmap.ix[:,3])
Out[87]:
[<matplotlib.lines.Line2D at 0x11b517160>]
In [90]:
plt.plot(block2.OBJECTID,'o-')
Out[90]:
[<matplotlib.lines.Line2D at 0x11c404898>]
In [91]:
influxmap.to_pickle('influxmap_blockgroup.df')
In [93]:
oodd.o_Shape_Area.describe()
Out[93]:
count 3.294620e+05
mean 6.928987e+06
std 1.420421e+07
min 2.015619e+05
25% 2.273632e+06
50% 3.611785e+06
75% 5.937434e+06
max 2.579110e+09
Name: o_Shape_Area, dtype: float64
In [98]:
influxmap.shape
Out[98]:
(495, 24)
In [103]:
block2.OBJECTID == list(ds|os)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-103-bdcb0c94ee22> in <module>()
----> 1 block2.OBJECTID ==list(ds|os)
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/ops.py in wrapper(self, other, axis)
761 other = np.asarray(other)
762
--> 763 res = na_op(values, other)
764 if isscalar(res):
765 raise TypeError('Could not compare %s type with Series' %
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/ops.py in na_op(x, y)
716 result = getattr(x, name)(y)
717 if result is NotImplemented:
--> 718 raise TypeError("invalid type comparison")
719 except AttributeError:
720 result = op(x, y)
TypeError: invalid type comparison
In [ ]:
In [118]:
block2.OBJECTID[influxmap.index]
Out[118]:
48 140.0
49 141.0
50 142.0
51 143.0
52 144.0
53 145.0
54 146.0
55 147.0
56 148.0
57 149.0
58 150.0
59 151.0
60 152.0
61 153.0
62 156.0
63 157.0
64 158.0
65 159.0
66 160.0
67 161.0
68 167.0
69 172.0
70 213.0
71 214.0
72 215.0
73 216.0
74 217.0
75 218.0
76 219.0
77 220.0
...
1388 NaN
1389 NaN
1390 NaN
1391 NaN
1392 NaN
1393 NaN
1394 NaN
1395 NaN
1396 NaN
1397 NaN
1398 NaN
1399 NaN
1400 NaN
1401 NaN
1403 NaN
1404 NaN
1405 NaN
1409 NaN
1410 NaN
1411 NaN
1412 NaN
1413 NaN
1415 NaN
1416 NaN
1417 NaN
1418 NaN
1419 NaN
1420 NaN
1421 NaN
1422 NaN
Name: OBJECTID, dtype: float64
In [119]:
influxmap.index
Out[119]:
Int64Index([ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
...
1412, 1413, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422],
dtype='int64', length=495)
In [125]:
block2.ix['OBJECTID'==1422]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/indexes/base.py in get_loc(self, key, method, tolerance)
1944 try:
-> 1945 return self._engine.get_loc(key)
1946 except KeyError:
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4154)()
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:3977)()
pandas/index.pyx in pandas.index.Int64Engine._check_type (pandas/index.c:7634)()
KeyError: False
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
<ipython-input-125-98738b231023> in <module>()
----> 1 block2.ix['OBJECTID'==1422]
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py in __getitem__(self, key)
76 else:
77 key = com._apply_if_callable(key, self.obj)
---> 78 return self._getitem_axis(key, axis=0)
79
80 def _get_label(self, label, axis=0):
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py in _getitem_axis(self, key, axis)
1016 return self._get_loc(key, axis=axis)
1017
-> 1018 return self._get_label(key, axis=axis)
1019
1020 def _getitem_iterable(self, key, axis=0):
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py in _get_label(self, label, axis)
91 raise IndexingError('no slices here, handle elsewhere')
92
---> 93 return self.obj._xs(label, axis=axis)
94
95 def _get_loc(self, key, axis=0):
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/core/generic.py in xs(self, key, axis, level, copy, drop_level)
1747 drop_level=drop_level)
1748 else:
-> 1749 loc = self.index.get_loc(key)
1750
1751 if isinstance(loc, np.ndarray):
/Users/MacBookPro/anaconda3/lib/python3.5/site-packages/pandas/indexes/base.py in get_loc(self, key, method, tolerance)
1945 return self._engine.get_loc(key)
1946 except KeyError:
-> 1947 return self._engine.get_loc(self._maybe_cast_indexer(key))
1948
1949 indexer = self.get_indexer([key], method=method, tolerance=tolerance)
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4154)()
pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:3977)()
pandas/index.pyx in pandas.index.Int64Engine._check_type (pandas/index.c:7634)()
KeyError: False
In [121]:
block2
Out[121]:
OBJECTID
STATEFP10
COUNTYFP10
TRACTCE10
BLKGRPCE10
GEOID10
NAMELSAD10
MTFCC10
FUNCSTAT10
ALAND10
AWATER10
INTPTLAT10
INTPTLON10
Shape_Leng
Shape_Area
TRACT
TRBG
0
25
53
33
27500
2
530330275002
Block Group 2
G5030
S
692948.0
0.0
47.482811
-122.336498
13870.306870
7.458847e+06
27500
27500.2
1
26
53
33
27400
4
530330274004
Block Group 4
G5030
S
455722.0
0.0
47.488087
-122.330058
11860.076920
4.905347e+06
27400
27400.4
2
27
53
33
27400
1
530330274001
Block Group 1
G5030
S
1021382.0
0.0
47.487404
-122.320678
15761.177975
1.099408e+07
27400
27400.1
3
48
53
33
12100
2
530330121002
Block Group 2
G5030
S
872406.0
201765.0
47.502280
-122.378175
16708.016143
1.156219e+07
12100
12100.2
4
49
53
33
12100
1
530330121001
Block Group 1
G5030
S
848889.0
1197739.0
47.508168
-122.391086
29023.747396
2.202957e+07
12100
12100.1
5
50
53
33
12000
3
530330120003
Block Group 3
G5030
S
472691.0
0.0
47.514810
-122.386001
10330.375059
5.087970e+06
12000
12000.3
6
51
53
33
12000
1
530330120001
Block Group 1
G5030
S
466107.0
0.0
47.514128
-122.375437
10651.509900
5.017069e+06
12000
12000.1
7
52
53
33
6300
2
530330063002
Block Group 2
G5030
S
555262.0
1587006.0
47.630877
-122.277006
23646.135514
2.305806e+07
6300
6300.2
8
53
53
33
6300
1
530330063001
Block Group 1
G5030
S
225548.0
1797897.0
47.640542
-122.276666
24040.993249
2.177905e+07
6300
6300.1
9
54
53
33
6200
2
530330062002
Block Group 2
G5030
S
569988.0
72936.0
47.642041
-122.306022
11749.566008
6.919978e+06
6200
6200.2
10
55
53
33
6200
3
530330062003
Block Group 3
G5030
S
606904.0
0.0
47.635877
-122.309045
13453.039267
6.532330e+06
6200
6200.3
11
56
53
33
6200
1
530330062001
Block Group 1
G5030
S
1553988.0
212696.0
47.640420
-122.295406
25729.338603
1.901557e+07
6200
6200.1
12
57
53
33
6100
3
530330061003
Block Group 3
G5030
S
258259.0
224925.0
47.647285
-122.325206
10181.470477
5.200698e+06
6100
6100.3
13
58
53
33
6100
4
530330061004
Block Group 4
G5030
S
232202.0
181899.0
47.641489
-122.328754
10737.053092
4.457116e+06
6100
6100.4
14
59
53
33
6100
1
530330061001
Block Group 1
G5030
S
276011.0
106606.0
47.648250
-122.320188
10411.270024
4.118237e+06
6100
6100.1
15
60
53
33
6000
4
530330060004
Block Group 4
G5030
S
276287.0
47348.0
47.649002
-122.356840
8542.789179
3.483401e+06
6000
6000.4
16
61
53
33
6000
3
530330060003
Block Group 3
G5030
S
387896.0
0.0
47.643264
-122.357726
8518.430534
4.175046e+06
6000
6000.3
17
62
53
33
6000
2
530330060002
Block Group 2
G5030
S
429857.0
14642.0
47.643825
-122.351202
9252.600324
4.784307e+06
6000
6000.2
18
63
53
33
6000
1
530330060001
Block Group 1
G5030
S
255193.0
88289.0
47.641187
-122.343412
9021.462694
3.696994e+06
6000
6000.1
19
64
53
33
5900
3
530330059003
Block Group 3
G5030
S
208020.0
0.0
47.648571
-122.364260
6361.869087
2.238988e+06
5900
5900.3
20
65
53
33
5900
5
530330059005
Block Group 5
G5030
S
426202.0
0.0
47.643026
-122.364515
9238.819714
4.587335e+06
5900
5900.5
21
66
53
33
1500
2
530330015002
Block Group 2
G5030
S
648138.0
398486.0
47.697916
-122.399027
17524.041496
1.126501e+07
1500
1500.2
22
67
53
33
4301
3
530330043013
Block Group 3
G5030
S
373437.0
0.0
47.671962
-122.303614
8412.200928
4.019405e+06
4301
4301.3
23
68
53
33
5600
3
530330056003
Block Group 3
G5030
S
878369.0
1212758.0
47.635913
-122.405614
26314.856720
2.250757e+07
5600
5600.3
24
69
53
33
5700
1
530330057001
Block Group 1
G5030
S
3055836.0
2247574.0
47.663336
-122.420137
34760.340794
5.708214e+07
5700
5700.1
25
70
53
33
5802
3
530330058023
Block Group 3
G5030
S
1597498.0
1156787.0
47.629576
-122.380159
35950.198977
2.964546e+07
5802
5802.3
26
71
53
33
3200
6
530330032006
Block Group 6
G5030
S
872244.0
815270.0
47.681547
-122.406431
24865.077399
1.816316e+07
3200
3200.6
27
72
53
33
7200
3
530330072003
Block Group 3
G5030
S
62534.0
0.0
47.617593
-122.347938
3715.384390
6.730859e+05
7200
7200.3
28
73
53
33
7200
2
530330072002
Block Group 2
G5030
S
123266.0
0.0
47.617114
-122.344008
5842.132473
1.326769e+06
7200
7200.2
29
74
53
33
7401
4
530330074014
Block Group 4
G5030
S
66759.0
0.0
47.622000
-122.324851
3357.253363
7.185596e+05
7401
7401.4
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
530
1390
53
33
6700
2
530330067002
Block Group 2
G5030
S
295891.0
0.0
47.627298
-122.345554
9256.328982
3.184803e+06
6700
6700.2
531
1391
53
33
6700
1
530330067001
Block Group 1
G5030
S
383284.0
102394.0
47.632436
-122.340780
11330.976276
5.227531e+06
6700
6700.1
532
1392
53
33
6600
2
530330066002
Block Group 2
G5030
S
243924.0
0.0
47.637436
-122.325931
8756.124544
2.625456e+06
6600
6600.2
533
1393
53
33
6600
1
530330066001
Block Group 1
G5030
S
870072.0
826398.0
47.629626
-122.331005
25085.561306
1.825977e+07
6600
6600.1
534
1394
53
33
6500
2
530330065002
Block Group 2
G5030
S
190566.0
0.0
47.627311
-122.322627
7315.748831
2.051129e+06
6500
6500.2
535
1395
53
33
6500
3
530330065003
Block Group 3
G5030
S
273795.0
0.0
47.626236
-122.316573
7454.014955
2.946946e+06
6500
6500.3
536
1396
53
33
6500
1
530330065001
Block Group 1
G5030
S
683260.0
0.0
47.633876
-122.316875
11974.554729
7.354166e+06
6500
6500.1
537
1397
53
33
6400
3
530330064003
Block Group 3
G5030
S
370406.0
0.0
47.628760
-122.305486
8278.479902
3.986836e+06
6400
6400.3
538
1398
53
33
6400
2
530330064002
Block Group 2
G5030
S
232532.0
0.0
47.628786
-122.310586
7121.611522
2.502839e+06
6400
6400.2
539
1399
53
33
6400
1
530330064001
Block Group 1
G5030
S
300711.0
0.0
47.628078
-122.299558
8167.590292
3.236677e+06
6400
6400.1
540
1400
53
33
6300
3
530330063003
Block Group 3
G5030
S
402717.0
106117.0
47.639065
-122.282398
14279.762848
5.476765e+06
6300
6300.3
541
1401
53
33
100
5
530330001005
Block Group 5
G5030
S
230512.0
0.0
47.722928
-122.294437
7450.759428
2.481027e+06
100
100.5
542
1403
53
33
990100
0
530339901000
Block Group 0
G5030
S
0.0
239607794.0
47.510648
-122.415421
649226.545532
2.579110e+09
990100
990100.0
543
1404
53
33
1400
4
530330014004
Block Group 4
G5030
S
918298.0
211433.0
47.706288
-122.373434
25787.111603
1.215949e+07
1400
1400.4
544
1405
53
33
1600
1
530330016001
Block Group 1
G5030
S
1005393.0
457717.0
47.705620
-122.380996
21083.664102
1.574772e+07
1600
1600.1
545
1408
53
33
20900
3
530330209003
Block Group 3
G5030
S
2920868.0
645484.0
47.746167
-122.367867
31608.668023
3.838491e+07
20900
20900.3
546
1409
53
33
9600
5
530330096005
Block Group 5
G5030
S
686264.0
1354203.0
47.592311
-122.388425
27113.587266
2.196260e+07
9600
9600.5
547
1410
53
33
8001
3
530330080013
Block Group 3
G5030
S
253356.0
546001.0
47.615072
-122.355530
17606.215354
8.603791e+06
8001
8001.3
548
1411
53
33
8001
4
530330080014
Block Group 4
G5030
S
54970.0
0.0
47.614858
-122.351009
3125.155126
5.916674e+05
8001
8001.4
549
1412
53
33
3100
5
530330031005
Block Group 5
G5030
S
936296.0
465516.0
47.688793
-122.402671
21985.279483
1.508801e+07
3100
3100.5
550
1413
53
33
10100
5
530330101005
Block Group 5
G5030
S
615407.0
0.0
47.568839
-122.285408
12804.696701
6.623979e+06
10100
10100.5
551
1414
53
33
24601
3
530330246013
Block Group 3
G5030
S
1234978.0
1515072.0
47.545783
-122.236644
31166.531663
2.960066e+07
24601
24601.3
552
1415
53
33
11102
1
530330111021
Block Group 1
G5030
S
642474.0
1636998.0
47.537928
-122.263361
24537.101032
2.453561e+07
11102
11102.1
553
1416
53
33
10200
4
530330102004
Block Group 4
G5030
S
399227.0
0.0
47.555660
-122.272517
11392.686859
4.297156e+06
10200
10200.4
554
1417
53
33
10402
3
530330104023
Block Group 3
G5030
S
301979.0
0.0
47.550473
-122.303759
13009.755404
3.250419e+06
10402
10402.3
555
1418
53
33
10401
2
530330104012
Block Group 2
G5030
S
633184.0
0.0
47.554268
-122.297519
15472.379184
6.815354e+06
10401
10401.2
556
1419
53
33
10702
2
530330107022
Block Group 2
G5030
S
207946.0
0.0
47.546221
-122.371588
7259.357753
2.238254e+06
10702
10702.2
557
1420
53
33
26500
2
530330265002
Block Group 2
G5030
S
523894.0
0.0
47.514584
-122.349354
10476.276574
5.639086e+06
26500
26500.2
558
1421
53
33
12000
2
530330120002
Block Group 2
G5030
S
508713.0
0.0
47.510083
-122.380542
13369.288284
5.475700e+06
12000
12000.2
559
1422
53
33
11900
1
530330119001
Block Group 1
G5030
S
590810.0
1320016.0
47.510209
-122.239265
27337.790209
2.056778e+07
11900
11900.1
560 rows × 17 columns
In [4]:
influxmap = pd.read_pickle('influxmap_blockgroup.df')
In [7]:
influxmap.to_pickle('influxmap_blockgroup.df')
In [ ]:
Content source: gengho/Car2know
Similar notebooks: