Pandas 删除除第一列外所有为空的行,并从倒数第一行开始删除数据
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] 表示选择从第一行到倒数第二行的所有行。
最后输出结果,可以看到我们成功删除了除了第一列以外所有为空的行,并且从倒数第一行开始删除了数据。
原文地址: https://www.cveoy.top/t/topic/dTTr 著作权归作者所有。请勿转载和采集!