Ошибка на vlookup в питоне - PullRequest
0 голосов
/ 11 мая 2018

  INPUT TABLEs                   OUTPUT TABLE(Table2)     
Table1.csv   | Table2.csv              Table2.csv   
Key          |   Key                Key     Flag
a            |    a                 a        1
b            |    b                 b        1
c            |    c                 c        1
f            |    d                 d        0
             |    e                 e        0
             |    f                 f        1

Table1.csv & Table2.csv имеет общий столбец Key. Если Table2.csv и Table1.csv имеют одинаковый ключ, то мне нужно пометить в Table2.csv значение 1, иначе 0.

[Я тоже это пробовал. Это не работает. Ничего не копируется и не помечается - https://stackoverflow.com/a/25493765/9774860]

- table1['flag']=table2.key.map(table1.key)

1 Ответ

0 голосов
/ 11 мая 2018

Невозможно ответить, потому что вы не показали, какую структуру данных вы использовали, но вот простой пример с использованием списков:

>>> t1 = ['a','b','c','f']
>>> t2 = ['a','b','c','d','e','f']
>>> flag = [t2_elem in t1 for t2_elem in t2]
>>> flag
[True, True, True, False, False, True]

Или предполагается, что DataFrame:

import pandas as pd
df1 = pd.DataFrame(t1, columns=['Key'])
df2 = pd.DataFrame(t2, columns=['Key'])
df1['Flag']=1
df3 = pd.merge(df2, df1, on='Key, how='left')
df3.fillna(0)

выходы

   Key  Flag
0    a   1.0
1    b   1.0
2    c   1.0
3    d   0.0
4    e   0.0
5    f   1.0
...