python数据框 - 删除不需要的Unicode字段
问题描述:
我在数据框中有一列“名称”。 我要删除所有的行,它的名字并不在names_all:python数据框 - 删除不需要的Unicode字段
names_all = ['alice', 'bob', 'david']
所有在names_all字符串和数据帧是unicode字符串。
我写的代码:
for index, row in history.iterrows():
if row['name'] not in names_all:
history.drop(index, inplace=True)
但由于某些原因,它是做怪异的东西。它丢失了太多的行(丢弃了所有1700行的第一行和更多)。 在我将所有的字符串编码为unicode之前,它也做了一些奇怪的事情,但没有那么多。
答
你为什么不只是选择那些符合names_all
说:
history = history.loc[history.name.isin(names_all)]
对我来说似乎他想删除不在列表中的行,他的代码使用'not in' – zipa
是的,我错误地理解了这个问题;) – MaxU