In [3]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

In [5]:
s = pd.Series([1,3,5,np.nan,6,8])
print(s)


0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
5    8.0
dtype: float64

In [19]:
# DataFrame
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df


Out[19]:
A B C D
2013-01-01 -0.283966 0.047616 -1.183938 0.313243
2013-01-02 1.417953 -0.048616 1.178293 -0.107940
2013-01-03 -0.793594 0.055211 0.187253 -0.242368
2013-01-04 1.147936 -0.454217 0.591398 1.520469
2013-01-05 -0.590837 -2.491837 0.859189 0.147979
2013-01-06 -0.262742 3.061295 1.211843 -0.625622

In [17]:
df2 = pd.DataFrame({'A': 1., 'B': pd.Timestamp('20130102'), 'C': pd.Series(1, index=list(range(4)), dtype='float32'), 
                   'D': np.array([3] * 4, dtype='int32'), 'E': pd.Categorical(['test', 'train', 'test', 'train']), 
                   'F': 'foo'})
df2.head()
df2.T


Out[17]:
0 1 2 3
A 1 1 1 1
B 2013-01-02 00:00:00 2013-01-02 00:00:00 2013-01-02 00:00:00 2013-01-02 00:00:00
C 1 1 1 1
D 3 3 3 3
E test train test train
F foo foo foo foo

In [27]:
df['A']
df[0:3]
df.iloc[1, 2]
df.iat[1,2]


Out[27]:
1.1782931634104032

In [29]:
df.A > 0


Out[29]:
2013-01-01    False
2013-01-02     True
2013-01-03    False
2013-01-04     True
2013-01-05    False
2013-01-06    False
Freq: D, Name: A, dtype: bool

In [31]:
df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
df1.loc[dates[0]:dates[1], 'E'] = 1
df1


Out[31]:
A B C D E
2013-01-01 -0.283966 0.047616 -1.183938 0.313243 1.0
2013-01-02 1.417953 -0.048616 1.178293 -0.107940 1.0
2013-01-03 -0.793594 0.055211 0.187253 -0.242368 NaN
2013-01-04 1.147936 -0.454217 0.591398 1.520469 NaN

In [35]:
df1.dropna(how='any')
df1.fillna(value=5)
pd.isnull(df1)


Out[35]:
A B C D E
2013-01-01 False False False False False
2013-01-02 False False False False False
2013-01-03 False False False False True
2013-01-04 False False False False True