如何在Python DataFrame列中查找值?

时间:2016-08-25 16:51:19

标签: python pandas dataframe

这是我在这个论坛上的第一个问题,对不起,如果我的英语不太好!

我想仅在特定列尚未包含特定值时才向DataFrame添加行。我想写下这个:

df = pd.DataFrame([['Mark', 9], ['Laura', 22]], columns=['Name', 'Age'])
new_friend = pd.DataFrame([['Alex', 23]], columns=['Name', 'Age'])
df = df.append(new_friend, ignore_index=True)
print(df)

    Name  Age
0   Mark    9
1  Laura   22
2   Alex   23

现在我想添加另一位朋友,但我想确保我还没有同名的朋友。这就是我实际在做的事情:

new_friend = pd.DataFrame([['Mark', 16]], columns=['Name', 'Age'])
df = df.append(new_friend, ignore_index=True)
print(df)

    Name  Age
0   Mark    9
1  Laura   22
2   Alex   55
3   Mark   16

然后:

df = df.drop_duplicates(subset='Name', keep='first')
df = df.reset_index(drop=True)
print(df)

    Name  Age
0   Mark    9
1  Laura   22
2   Alex   55

还有另一种方法可以做到这样:

如果列'Name'中的名称为True:

不添加好友

否则:

添加好友

谢谢!

1 个答案:

答案 0 :(得分:0)

if 'Mark' in list(df['Name']):
    print('Mark already in DF')
else:
    print('Mark not in DF')