【pandas笔记】删除DataFrame中特定所在的行或列

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

你可能感兴趣的:(【pandas笔记】删除DataFrame中特定所在的行或列)