【发布时间】:2018-09-15 21:56:40
【问题描述】:
我有一个问题需要解决好几天。我有 2 个数据框,如下所示。定义索引是指一组唯一的 TEST、NAME 和 SEQUENCE 三元组。目标是从匹配的索引文件中获取“索引”值:
其中一个序列值,例如配置中的 [111,222,333](例如可以是 111 或 222 或 333)和测试和姓名。
配置文件是最重要的,目的是找到对应的索引值。配置中不存在的任何内容都不应显示在输出文件中。我想要一个最终输出,其中包括:INDEX、TEST、NAME 和 SEQUENCE。所以最终输出将是配置文件的一个子集,但它只包含一个 SEQUENCE(而不是 3 个)和相应的 TEST 和 NAME 和 INDEX。如:
示例输出文件:
index TEST NAME SEQUENCE
901922 A john 111
238394 C ashley 555
930293 B sam 444
我尝试编写一个 for 循环,但没有成功,索引如下:
for x in range(0, config.shape[0]):
find1=eval(config.SEQUENCE[x])
find1='|'.join(str(i) for i in find1)
find1 = '(' + find1 + ')'
第一个数据框:配置
SEQUENCE TEST NAME
[111,222,333] A john
[222,444,888] B sam
[111,222,333] A ashley
[999,777,555] C ashley
[111,222,333] D john
[111,222,333] A john
G kelly
第二个数据框:index
index TEST NAME SEQUENCE
901922 A john 111
930293 B sam 444
238203 A ashley 888
238394 C ashley 555
483472 D john 777
901922 A john 111
264225 F greg 111
465126 A mary 555
554216 B peter 333
【问题讨论】:
-
这个和sql无关,所以我去掉了。
标签: python pandas for-loop dataframe lookup