python中vlookup出错

2024-05-14 22:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

你知道吗

  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有一个公共键列。如果Table2.csv和Table1.csv具有相同的键,那么我需要在Table2.csv中标记为1或0。你知道吗

[我也试过这个。不是的工作。没什么复制或标记-https://stackoverflow.com/a/25493765/9774860]

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

Tags: csvkeyhttps标记cominputoutputtables
1条回答
网友
1楼 · 发布于 2024-05-14 22:51:17

无法回答,因为您还没有展示所使用的数据结构,但下面是一个使用列表的简单示例:

>>> 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]

或者假设数据帧:

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

相关问题 更多 >

    热门问题