2016-08-25 85 views
2

這是我在這個論壇上的第一個問題,對不起,如果我的英語不太好!如何查找Python 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'is真實姓名:

不添加好友

其他:

加好友

謝謝!

+0

你可以做'(DF [「名稱」] ==名稱).ANY()'在任何行 – EdChum

+0

它的工作原理,以測試完全匹配,但我得到一個AttributeError:「NoneType」對象有沒有屬性'any' – BillyBoom

回答

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

太棒了!謝謝! – BillyBoom

相關問題