循环通过列并在某种条件下停止(python)

时间:2017-09-27 20:30:58

标签: python pandas conditional-statements rows continue

我有一个类似于下面的数据框,

Date            A  B
2017-01-01      1  1
2017-01-02      2  2
2017-01-03      1  2

对于每一列,我想测试groupby语句中每个名称的条件A == B.如果这种情况不成立,我想打印“条件在2017-01-03结束”。我不确定如何遍历此数据帧中的每一行。我正在设想类似这样的代码,虽然我知道我没有通过正确的事情来实现:

for i in df.Date:
    if df.A == df.B:
        continue
    if df.A != df.B:
        print ("Condition ends at", i)

3 个答案:

答案 0 :(得分:1)

请查看this

您将遍历每一行,然后访问相应的列作为键,这样您就可以在每行中相互比较列

答案 1 :(得分:0)

你可以这样做:

print 'Condition ends at', (df.A.values != df.B.values).argmax()

答案 2 :(得分:0)

您可以使用漂亮的pythonic语法:

def set(self, type_, img_data, mime_type, description=u"", img_url=None):
    """Add an image of ``type_`` (a type constant from ImageFrame).
    The ``img_data`` is either bytes or ``None``. In the latter case
    ``img_url`` MUST be the URL to the image. In this case ``mime_type``
    is ignored and "-->" is used to signal this as a link and not data
    (per the ID3 spec)."""

如果没有找到,则None将是默认值