函数 | 含义 |
---|---|
dropna(axis, how) | 删除整行或整列(axis是按照啥方向, how是删的条件,这俩都是可选的) |
d.fillna(num) | 用num来替代其中的NaN |
d.isnull() | 返回一个bool matrix,NaN表示为True |
np.any(d.isnull()) == True | 判断d中有没有NaN |
axis挺迷的:
知乎的
dropna(self, axis, how)
import pandas as pd
import numpy as np
d = pd.DataFrame(np.linspace(2, 17, 16).reshape(4, 4), ['a', 'b', 'c', 'd'], ['A', 2, 3, 4])
d.loc['b', 3] = np.nan
d.loc['c', 2] = np.nan
print(type(d)) # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
print(d)
print(d.dropna()) #
print(d.dropna(axis=1))
how:
- any:表示只要有NaN就删
- all:表示全都是NaN才删
print(d.dropna(how='all'))
d.fillna(num)
import pandas as pd
import numpy as np
d = pd.DataFrame(np.linspace(2, 17, 16).reshape(4, 4), ['a', 'b', 'c', 'd'], ['A', 2, 3, 4])
d.loc['b', 3] = np.nan
d.loc['c', 2] = np.nan
print(type(d)) # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
print(d)
print(d.fillna(-1))
d.isnull()
import pandas as pd
import numpy as np
d = pd.DataFrame(np.linspace(2, 17, 16).reshape(4, 4), ['a', 'b', 'c', 'd'], ['A', 2, 3, 4])
d.loc['b', 3] = np.nan
d.loc['c', 2] = np.nan
print(type(d)) # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
print(d)
print(d.isnull())
np.any(d.isnull()) == True
import pandas as pd
import numpy as np
d = pd.DataFrame(np.linspace(2, 17, 16).reshape(4, 4), ['a', 'b', 'c', 'd'], ['A', 2, 3, 4])
d.loc['b', 3] = np.nan
d.loc['c', 2] = np.nan
print(type(d)) # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
print(d)
print(np.any(d.isnull()) == True)