In [1]:
import pandas as pd
In [2]:
import numpy as np
In [3]:
from pandas import DataFrame, Series
In [4]:
string_data = Series(['aardvark', 'artichoke', np.nan, 'avocado'])
In [5]:
string_data
Out[5]:
In [6]:
string_data.isnull()
Out[6]:
In [7]:
string_data[0] = None
In [8]:
string_data.isnull()
Out[8]:
In [9]:
from numpy import nan as NA
In [10]:
data = Series([1, NA, 3.5, NA, 7])
In [11]:
data.dropna()
Out[11]:
In [12]:
data[data.notnull()]
Out[12]:
In [13]:
data = DataFrame([[1., 6.5, 3.], [1., NA, NA], [NA, NA, NA], [NA, 6.5, 3.]])
In [14]:
data
Out[14]:
In [15]:
cleaned = data.dropna()
In [16]:
cleaned
Out[16]:
In [17]:
data.dropna(how='all')
Out[17]:
In [18]:
data[4] = NA
In [19]:
data
Out[19]:
In [20]:
data.dropna(axis=1, how='all')
Out[20]:
In [22]:
df = DataFrame(np.random.randn(7,3))
In [23]:
df
Out[23]:
In [24]:
df.ix[:4, 1] = NA; df.ix[:2, 2] = NA
In [25]:
df
Out[25]:
In [26]:
df.dropna(thresh=3)
Out[26]:
In [27]:
df.fillna(0)
Out[27]:
In [28]:
df.fillna({1: 0.5, 3: -1})
Out[28]:
In [29]:
df.fillna(0, inplace=True)
In [30]:
df
Out[30]:
In [31]:
df = DataFrame(np.random.randn(6, 3))
In [32]:
df.ix[2:, 1] = NA; df.ix[4:, 2] = NA
In [33]:
df
Out[33]:
In [34]:
df.fillna(method='ffill')
Out[34]:
In [35]:
df.fillna(method='ffill', limit=2)
Out[35]:
In [36]:
data = Series([1., NA, 3.5, NA, 7])
In [37]:
data.fillna(data.mean())
Out[37]: