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