代码之家  ›  专栏  ›  技术社区  ›  JD2775

Pandas中的数据帧循环和基于子串的行选择

  •  0
  • JD2775  · 技术社区  · 6 年前

    A_value1
    B_value1
    B_value2
    A_value150
    

    我只想打印以“A”开头的。

    我试过了,但它返回了以下信息:

    ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
    

    value = 'A_'
    for index, row in df.iterrows():
        if df.loc[df['TABLE_NAME'].str.contains(value)]:
            print('y')
        else:
            print('n')
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Allen Qin    6 年前

    可以将str.startswith:

    df.loc[df.TABLE_NAME.str.startswith('A_')]
    

    value = 'A_'
    for index, row in df.iterrows():
        if row['TABLE_NAME'].startswith(value):
            print('y')
        else:
            print('n')