Проверьте, существует ли имя из одного кадра данных в другом кадре данных - PullRequest
1 голос
/ 04 апреля 2019

Я новичок в Python, и здесь мне нужна помощь, пожалуйста, помогите мне.У меня есть два фрейма данных, один содержит название бренда, а другой - название продукта. Здесь я хочу отфильтровать данные из фрейма данных два только для данного списка брендов в dataframe2.

**brand_Name:
filter_value
0   Xiaomi
1   Celkon
2   Gionee
3   Asus
4   iBall
5   Karbonn
6   Lava
7   Lenovo
8   Micromax
9   Panasonic**

**New:**
****source_product_name source_product_id   Status****
10  Redmi Y2 (Black, 32 GB) MOBFAANUCBGSRADJ    New
18  Asus Zenfone Max Pro M1 (Black, 64 GB)  MOBF4UQ9NSFFMH7Z    New
21  Honor 9 Lite (Glacier Grey, 64 GB)  MOBFF5ZGFJB78ZDB    New
26  Redmi Y2 (Black, 32 GB) MOBFAANUCBGSRADJ    New
34  Realme 3 (Radiant Blue, 32 GB)  MOBFE68WHF6MZKG5    New
36  Realme 3 (Radiant Blue, 64 GB)  MOBFE68WMCYD5SRT    New
40  Honor 7A (Gold, 32 GB)  MOBF3T87G3JWH667    New
41  Redmi Note 7 (Sapphire Blue, 32 GB) MOBFDXZ3TVHJFD8E    New
46  Honor 9 Lite (Glacier Grey, 64 GB)  MOBFF5ZGFJB78ZDB    New
50  Redmi 6 (Blue, 32 GB)   MOBF96CPQBJJHBGN    New
57  Honor 10 Lite (Sapphire Blue, 32 GB)    MOBFEMY3UZZUND2Z    New
58  Redmi Y2 (Gold, 64 GB)  MOBF7Y2DKUBEDUWH    New
59  Vivo V9 Pro (Black, 64 GB)  MOBFAFZZUHCXRFCF    New
60  Panasonic Eluga Ray 530 (Blue, 32 GB)   MOBFCMTFWGMSUA4H    New
61  Redmi Note 5 Pro (Red, 64 GB)   MOBF9JQUXSHWPFHC    New
72  Honor 10 Lite (Sapphire Blue, 64 GB)    MOBFCG2TH5GMGC26    New
75  Redmi 6A (Rose Gold, 32 GB) MOBFAMZB7HFYJUFX    New
76  Redmi 6A (Rose Gold, 16 GB) MOBF9N2YPNCX2CP7    New
77  Nokia 5.1 Plus (Black, 64 GB)   MOBFE3DUMGFKKHGR    Ne

Это вещичто я уже пробовал
A = brandName.loc[brandName.filter_value.isin(New['source_product_id'])]

Здесь я получаю пустой фрейм данных New.assign(InbrandName=New.source_product_id.isin(brandName.filter_value).astype(int))

Здесь также только ноль для всего названия продукта

New['status2'] = [
    'donot keep' if brandName['filter_value'] not in 
    New['source_product_name'].tolist() else 'keep' 
    for brandName['filter_value'] in New['source_product_name']
    ]
abcd=New[New['status2']=='keep']

Здесь я также пытаюсь напечатать один дополнительный столбец (сохранить / не сохранить), если имя_продукта_источника содержит определенный бренд.

...