import pandas as pd
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
'year': [2000, 2001, 2002, 2001, 2001],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = pd.DataFrame(data)
frame
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
pop |
state |
year |
0 |
1.5 |
Ohio |
2000 |
1 |
1.7 |
Ohio |
2001 |
2 |
3.6 |
Ohio |
2002 |
3 |
2.4 |
Nevada |
2001 |
4 |
2.9 |
Nevada |
2001 |
pd.DataFrame(data, columns=['year', 'state', 'pop'])
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
0 |
2000 |
Ohio |
1.5 |
1 |
2001 |
Ohio |
1.7 |
2 |
2002 |
Ohio |
3.6 |
3 |
2001 |
Nevada |
2.4 |
4 |
2001 |
Nevada |
2.9 |
frame2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'],
index=['one', 'two', 'three', 'four', 'five'])
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
NaN |
two |
2001 |
Ohio |
1.7 |
NaN |
three |
2002 |
Ohio |
3.6 |
NaN |
four |
2001 |
Nevada |
2.4 |
NaN |
five |
2001 |
Nevada |
2.9 |
NaN |
frame2.columns
Index([‘year’, ‘state’, ‘pop’, ‘debt’], dtype=’object’)
frame2['state']
one Ohio two Ohio three Ohio four Nevada five Nevada Name: state, dtype: object
frame2.year
one 2000 two 2001 three 2002 four 2001 five 2001 Name: year, dtype: int64
frame2.ix['three']
year 2002 state Ohio pop 3.6 debt NaN Name: three, dtype: object
frame2['debt'] = 16.5
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
16.5 |
two |
2001 |
Ohio |
1.7 |
16.5 |
three |
2002 |
Ohio |
3.6 |
16.5 |
four |
2001 |
Nevada |
2.4 |
16.5 |
five |
2001 |
Nevada |
2.9 |
16.5 |
import numpy as np
frame2['debt'] = np.arange(5.)
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
0.0 |
two |
2001 |
Ohio |
1.7 |
1.0 |
three |
2002 |
Ohio |
3.6 |
2.0 |
four |
2001 |
Nevada |
2.4 |
3.0 |
five |
2001 |
Nevada |
2.9 |
4.0 |
val = pd.Series([-1.2, -1.5, -1.7], index = ['two', 'four', 'five'])
frame2['debt'] = val
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
NaN |
two |
2001 |
Ohio |
1.7 |
-1.2 |
three |
2002 |
Ohio |
3.6 |
NaN |
four |
2001 |
Nevada |
2.4 |
-1.5 |
five |
2001 |
Nevada |
2.9 |
-1.7 |
frame2['eastern'] = frame2.state == 'Ohio'
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
eastern |
one |
2000 |
Ohio |
1.5 |
NaN |
True |
two |
2001 |
Ohio |
1.7 |
-1.2 |
True |
three |
2002 |
Ohio |
3.6 |
NaN |
True |
four |
2001 |
Nevada |
2.4 |
-1.5 |
False |
five |
2001 |
Nevada |
2.9 |
-1.7 |
False |
del frame2['eastern']
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
NaN |
two |
2001 |
Ohio |
1.7 |
-1.2 |
three |
2002 |
Ohio |
3.6 |
NaN |
four |
2001 |
Nevada |
2.4 |
-1.5 |
five |
2001 |
Nevada |
2.9 |
-1.7 |
frame2.columns
Index([‘year’, ‘state’, ‘pop’, ‘debt’], dtype=’object’)
pop = {'Nevada': {2001: 2.4, 2002: 2.9},
'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
frame3 = pd.DataFrame(pop)
frame3
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
Nevada |
Ohio |
2000 |
NaN |
1.5 |
2001 |
2.4 |
1.7 |
2002 |
2.9 |
3.6 |
frame3.T
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
2000 |
2001 |
2002 |
Nevada |
NaN |
2.4 |
2.9 |
Ohio |
1.5 |
1.7 |
3.6 |
pd.DataFrame(pop, index=[2001, 2002, 2003])
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
Nevada |
Ohio |
2001 |
2.4 |
1.7 |
2002 |
2.9 |
3.6 |
2003 |
NaN |
NaN |
pdata = {'Ohio': frame3['Ohio'][:-1],
'Nevadd': frame3['Nevada'][:2]}
pd.DataFrame(pdata)
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
Nevadd |
Ohio |
2000 |
NaN |
1.5 |
2001 |
2.4 |
1.7 |
frame3.index.name = 'year'
frame3.columns.name = 'state'
frame3
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
state |
Nevada |
Ohio |
year |
|
|
2000 |
NaN |
1.5 |
2001 |
2.4 |
1.7 |
2002 |
2.9 |
3.6 |
frame3.values
array([[ nan, 1.5], [ 2.4, 1.7], [ 2.9, 3.6]])
frame2
.dataframe thead tr:only-child th { text-align: right; } .dataframe thead th { text-align: left; } .dataframe tbody tr th { vertical-align: top; }
|
year |
state |
pop |
debt |
one |
2000 |
Ohio |
1.5 |
NaN |
two |
2001 |
Ohio |
1.7 |
-1.2 |
three |
2002 |
Ohio |
3.6 |
NaN |
four |
2001 |
Nevada |
2.4 |
-1.5 |
five |
2001 |
Nevada |
2.9 |
-1.7 |
frame2.values
array([[2000, 'Ohio', 1.5, nan],
[2001, 'Ohio', 1.7, -1.2],
[2002, 'Ohio', 3.6, nan],
[2001, 'Nevada', 2.4, -1.5],
[2001, 'Nevada', 2.9, -1.7]], dtype=object)