Python的两个条件if else

时间:2018-03-05 15:14:38

标签: python python-3.x pandas

我有字典形式的代码,我想转换为pandas

df = pd.DataFrame(dict(a=[1.5,2.8,9.3],b=[3.2,3.3,3.9],c=[13.1,4.9,15.9],d=[1.1,1.9,2.9]))

此数据已组成,但在实际情况中,我使用的功能类似于此。 但是,如果x大于4或小于2,我如何修改if else?目前我只定义x是否大于4 ...

def _print(x):
    if (x < 4).any():
        print('Zone %s does not make setpoint, see box plot below for the distribution of the data in DegF' % x.name)

    else:
        print('Zone %s meets zone temperature setpoint' % x.name)
        print('The average is %s in DegF' % x.mean())
    print('---')

df.apply(lambda x: _print(x))

2 个答案:

答案 0 :(得分:1)

如果您只想对数据帧应用条件过滤器,那么您可以执行以下操作:

df[df.apply(lambda x: x>4) | df.apply(lambda x: x<2)]

然后,作为第二步,您可以获取满足条件的列的平均值:

df[df.apply(lambda x: x>4) | df.apply(lambda x: x<2)].mean()

这将让您知道哪些列符合您的条件具有什么意义。

答案 1 :(得分:-1)

if x > 4 or x < 2:
    //blah

这就是你在python中定义它的方式(主要是用任何其他语言替换或用||。)如果你问如何将它变成if语句。我不明白你可能会问什么。