遍历数据框并根据Pandas中的子字符串选择行

时间:2020-01-25 01:56:41

标签: python string pandas

我有一个包含5列的数据框,其中之一是“ TABLE_NAME”。该列具有以下值:

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 个答案:

答案 0 :(得分:0)

您可以使用str.startswith:

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

如果要使用for循环,可以执行以下操作:

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