pandas中,可以利用dropna
删除空行,同时也可以利用该函数删除包含特定值所在的行。
1.删除空行
>>> data = pd.DataFrame([
[1.0, 2.2, -999.0],
[1.2, 2.1, 3.4],
[1.2, 2.1, 4.4],
[1.2, -999.0, 3.4],
[1.2, np.NaN, 3.4]], columns=['a', 'b', 'c'])
>>> data.dropna(axis=0) # 删除有空值的行
a b c
0 1.0 2.2 -999.0
1 1.2 2.1 3.4
2 1.2 2.1 4.4
3 1.2 -999.0 3.4
>>> data.dropna(axis=1) # 删除有空值的列
a c
0 1.0 -999.0
1 1.2 3.4
2 1.2 4.4
3 1.2 3.4
4 1.2 3.4
2.根据特定值,删除DataFrame中的行或列
# 示例数据
>>> import pandas as pd
>>> data = pd.DataFrame(
[[1.0, 2.2, -999.0], [1.2, 2.1, 3.4], [1.2, 2.1, 4.4], [1.2, -999.0, 3.4]],
columns=['a', 'b', 'c']
)
a b c
0 1.0 2.2 -999.0
1 1.2 2.1 3.4
2 1.2 2.1 4.4
3 1.2 -999.0 3.4
# 删除-999所在的行,dropna默认axis=0
>>> new_data = data[~data.isin([-999])].dropna(axis=0)
a b c
1 1.2 2.1 3.4
2 1.2 2.1 4.4
# 删除-999所在的列
>>> new_data = data[~data.isin([-999])].dropna(axis=1)
a
0 1.0
1 1.2
2 1.2
3 1.2