条件筛选dataframe的列

本文介绍了如何使用Python的pandas库,通过DataFrame操作筛选出数据框中倒数第四行值不为0的列。作者首先创建了一个示例DataFrame,然后展示了如何获取倒数第四行非零列并生成新的DataFrame。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

是这样的,我想用python的dataframe筛选出所有倒数第四行的值不为0的列,也就是条件筛选出满足条件的列。

import pandas as pd  
  
# 创建一个示例DataFrame  
data = {'A': [0, 1, 2, 3, 4],  
        'B': [0, 5, 6, 7, 8],  
        'C': [9, 10, 11, 0, 12],  
        'D': [13, 14, 15, 16, 0]}  
df = pd.DataFrame(data)

先创建一个示例

# 获取数据框最后一行的所有列,然后筛选出其中值不为0的列  
nonZeroColumns=df.columns[df.iloc[-4][df.columns]!=0]

# 根据筛选出的非零列,重新生成一个新的数据框
newData = df[nonZeroColumns]

第一行代码中,df.iloc[-4][df.columns]是选取数据框倒数第四行(即倒数第五行,Python中负数表示倒数的行)的所有列。然后df.columns[df.iloc[-4][df.columns] != 0]是筛选出倒数第五行所有列中值不为0的列。

第二行代码中,df[nonZeroColumns]是根据第一行代码中筛选出的非零列生成一个新的数据框。

newData就是筛选后的dataframe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值