1
我有一個帶有NAME列和AGE列的熊貓df。 我給出了一系列名稱,並且我只想保留df中的行,其中NAME列具有系列中的名稱之一。此外,該系列在df中可能沒有全名,但只有其中的一部分(例如只是名字或姓氏)。保持包含給定列中來自給定列表的子串的熊貓df的行
例子:
df = NAME AGE
John Stewart 26
Mary Doe 36
Luke Doe 29
Danny Smith 16
Jenny Brown 80
series s (or list) = [Luke, Danny]
我想
df2 = NAME AGE
Luke Doe 29
Danny Smith 16
我想的東西(很麻煩),如:
df["KEEP"] = None
print (len(df.index))
for i in range(len(df.index)) :
for name in s:
row = df.iloc[i]
if name in row["NAME"]:
df["KEEP"][i] = True
break
df["KEEP"][i] = False
return df[myData["KEEP"]==True]
我知道這是尷尬的,並且,此外,它不起作用(額外的問題,超慢,但我不知道爲什麼)。 我該如何解決這個問題?
This回答案例,如果s只有一個元素,但我不能適應我的情況。