gpt4 book ai didi

python - 从数据框中删除行,但跳过轴中不包含的标签

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:01 26 4
gpt4 key购买 nike

我想使用 pandas 根据给定的列表删除某些行,但也想跳过数据框中不包含的那些项目。

例如,

# My dataframe
id,name
A,Bill
B,Lee
C,Jack

# id list that I want to take out
id,
A,
E, # does not contain in data frame
F, # does not contain in data frame
G, # does not contain in data frame

## I'd like to see in my result...

id,name
B,Lee
C,Jack

我尝试过df[~df['id'].isin(given_id_list)]df.set_index('id').drop(given_id_list.set_index('id') ).index) 但两者都不能很好地工作。

有什么明智的建议吗?

最佳答案

这不是最“Pythonic”的解决方案——但它确实有效。循环遍历索引,检查 ID 变量,如果它在列表中,则将其删除。

import pandas as pd
#create the sample dataframe
data = {'id':['A','B','C'], 'name': ['jack', 'john', 'bill']}
df = pd.DataFrame(data)

#list of possible rows to drop:
to_drop = ['A', 'F', 'G']

#loop thru each index
for ix in df.index:
#check if it is a good one to drop
if df.loc[ix]['id'] in to_drop:
#drop it if it is
df.drop(ix, inplace = True)

关于python - 从数据框中删除行,但跳过轴中不包含的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com