比较熊猫数据框中的两列

我有一个熊猫数据框,我想在其中验证A列大于B列(行方向)。我正在做类似的事情

tmp=df['B']-df['A']
if(any( [ v for v in tmp if v > 0])):
   ....

我想知道是否有更好(简洁)的方法,或者pandas数据框是否具有内置的例程来完成此任务

ayaya1234 回答:比较熊猫数据框中的两列

df = pd.DataFrame({'A': [1,2,3],'B': [3,1,1]})

temp = df['B'] - df['A']

print(temp)

0    2
1   -1
2   -2

现在您可以使用temp > 0创建布尔序列:

print(temp > 0)

0     True
1    False
2    False
dtype: bool

此布尔系列可以输入any,因此您可以使用:

if any(temp > 0):
    print('juhu!')

或者简单地(避免使用temp):

if any(df['B'] > df['A']):
    print('juhu')

首先使用创建布尔序列的相同逻辑:

print(df['B'] > df['A'])

0     True
1    False
2    False
dtype: bool
,

df ['B']> df ['A']将是布尔数据类型的熊猫系列。

select 
    num_hour as hour,nvl(productions,0) as productions
from
    (select  level-1 as num_hour from dual connect by level <= 24 order by level) t2
left join 
    table_1 t1
on 
    num_hour = to_number(hour)
order by num_hour

例如

 >>> (df['B']>df['A']).dtype
      dtype('bool')

any()函数如果可迭代项中的任何一项为true,则返回True

>>> df['B']>df['A']
   0     True
   1    False
   2    False
   3     True
   4     True
   dtype: bool
,

我猜您想检查是否有df ['B']> df ['A']然后做点什么。

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1,3,4],'B': [2,6,3]})
if np.where(df['B'] > df['A'],0).sum():
    print('do something')
本文链接:https://www.f2er.com/3159467.html

大家都在问