Pandas 删除除第一列外所有为空的行,并从倒数第一行开始删除数据

使用 dropna() 函数可以删除除了第一列以外都为空的行,然后使用 iloc 选择倒数第一行开始进行删除。

示例代码:

import pandas as pd

# 创建示例数据
data = {'A': [1, 2, None, 4],
        'B': [None, None, None, None],
        'C': [None, None, None, None],
        'D': [1, 2, 3, 4]}

df = pd.DataFrame(data)

# 删除除了第一列以外都为空的行
df = df.dropna(subset=df.columns[1:], how='all')

# 从倒数第一行开始删除
df = df.iloc[:-1]

print(df)

输出结果:

     A    B    C  D
0  1.0  NaN  NaN  1
1  2.0  NaN  NaN  2
2  NaN  NaN  NaN  3

解释:

在这个示例中,我们首先使用 dropna() 函数删除除了第一列以外都为空的行。subset=df.columns[1:] 表示选择除了第一列以外的所有列,how='all' 表示只有当所有选定列都为空时才会删除该行。

然后,我们使用 iloc 函数选择除了最后一行以外的所有行,即从倒数第一行开始删除。 df.iloc[:-1] 表示选择从第一行到倒数第二行的所有行。

最后输出结果,可以看到我们成功删除了除了第一列以外所有为空的行,并且从倒数第一行开始删除了数据。

Pandas 删除除第一列外所有为空的行,并从倒数第一行开始删除数据

原文地址: https://www.cveoy.top/t/topic/dTTr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录