Python 如何删除列表中不存在的数据帧值?

Python 如何删除列表中不存在的数据帧值?,python,pandas,Python,Pandas,我有一份清单: myList = ['item1', 'item2', 'item3', 'item4', 'item5'] my.csv items quantity item1 1 item2 2 item3 2 item4 4 item4 1 item5 1 item6 3 我需要删除所有不包含items列中的list值的dataframe行 期望输出: items quan

我有一份清单:

myList = ['item1', 'item2', 'item3', 'item4', 'item5']
my.csv

items    quantity 
item1        1
item2        2
item3        2
item4        4
item4        1
item5        1
item6        3
我需要删除所有不包含items列中的list值的dataframe行

期望输出:

items    quantity 
item1        1
item2        2
item3        2
item4        4
item4        1
item5        1

有人能帮我吗?提前感谢。

您可以使用
df.iterrows()
函数,其中df是
pandas.DataFrame的缩写:

import pandas as pd
import numpy as np

myList = ['item1', 'item2', 'item3', 'item4', 'item5']

df = pd.DataFrame({  "items": ['item1', 'item2', 'item3', 'item4', 'item4','item5','item6'], "quantity": [1,2,2,4,1,1,3] })


for i, r in df.iterrows():
    for j in myList:
        if j==r['items']:
            print(j," ",r['quantity'])



item1   1
item2   2
item3   2
item4   4
item4   1
item5   1

我想您需要类似于
df[df['items'].isin(myList)]
的东西。未经测试。是的,这似乎有效。我不确定目标,但也可以使用pd.read_csv(skiprows=lambda x:x in[1,2,4,6])。