如何在特定行上执行if和语句,如果为true,如何使用Python向我的手机发送包含行内容的消息?

2024-10-03 15:31:28 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在运行实时数据,并希望在列线差异大于5时收到通知。这还需要取决于其他列的值,例如一半为“前一半”,剩余时间超过10,边为“最喜爱”。我很难编写if语句,以便它在同一行中搜索所有这些语句。我正在使用Twilio通知我,我正在尝试将事件名称、直播线路、线路差异、团队和剩余时间包含在正确的行消息中。有人知道我怎么做吗

if np.any(df['Line Variance'] <= 5) and np.any(df['Side'] == "Favorite"):
    # send message
        client.messages.create(to="+X", 
                       from_="+X", 
                       body= np.any(df['Line Variance']))
        print('message sent')
    

示例数据

Data Picture


Tags: 数据名称messagedfifnpline事件
1条回答
网友
1楼 · 发布于 2024-10-03 15:31:28

当您有一个关于列的条件时,结果将是所有行的布尔值。在您的示例中重建表,df['Line Variance'] <= 5将返回

0     True
1    False
2     True
3     True
Name: Line Variance, dtype: bool

当且仅当两个输入均为真时,布尔AND运算将返回真。这样,您可以组合许多条件。例如,(df['Line Variance'] <= 5) & (df['Side'] == "Favorite")将返回

0    False
1    False
2     True
3    False
dtype: bool

然后您可以使用它来筛选特定的行

interested = (df['Line Variance'] <= 5) & (df['Side'] == "Favorite")
print(df[interested])

那会显示

       Event  Live Line      Half  ... Time Remaining  Line Variance       Side
2  Green Bay         -4  1st half  ...            0.3            3.0  Favourite

[1 rows x 8 columns]

相关问题 更多 >