python 条件选择_Pandas Python,根据行条件选择列

本文介绍了如何在Pandas DataFrame中根据行条件选择列。通过使用mask和any()函数,可以筛选出满足特定条件的列。示例展示了如何在不同情况下选择列,包括当条件为True时选择第二列,以及当条件不满足时选择第一列。此外,即使改变列名,这种方法仍然适用。
摘要由CSDN通过智能技术生成

使用mask创建的df > 2与^{}一起使用,然后按^{}选择列:import pandas as pd

np.random.seed(18)

df = pd.DataFrame(np.random.randn(2, 4))

print(df)

0 1 2 3

0 0.079428 2.190202 -0.134892 0.160518

1 0.442698 0.623391 1.008903 0.394249

print ((df>2).any())

0 False

1 True

2 False

3 False

dtype: bool

print (df.ix[:, (df>2).any()])

1

0 2.190202

1 0.623391

按注释编辑:

您可以检查每个部分的解决方案:

它似乎可以工作,但是如果条件为True,它总是选择第二列(1,python count from 0)列:print (df.iloc[(0,1)])

2.19020235741

print (df.iloc[(0,1)] > 2)

True

print (df.columns[df.iloc[(0,1)]>2])

1

print (df[df.columns[df.iloc[(0,1)]>2]])

0 2.190202

1 0.623391

Name: 1, dtype: float64

第一列(0)如果False,因为布尔值T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值