啊啊啊啊啊吖

2019-01-24   阅读量: 493

数据分析师 Python数据分析

如何查找列A中同样位于B列中的每个值的所有实例

扫码加入数据分析学习群

使用Pandas,我试图找到A列中某些值的最近重叠出现,这也恰好出现在B列中(但不一定发生在同一行); 对A列中的所有行都要这样做。

我已经用n ^ 2解决方案完成了一些事情(通过创建每个列的列表并使用嵌套的for循环迭代),但我想尽可能使用更快的东西; 因为这需要在包含数万个条目的表中实现。(因此,Vectorized解决方案将是理想的,但我更希望采用“正确”的方式来实现这一目标。)

df['idx'] = range(0, len(df.index))

A = list(df['r_A'])

B = list(df['r_B'])

A_B_Dict = {}

for i in range(0, len(B)-1):

for j in range(0, len(A)-1):

if B[i] == A[j]:

A_search = df.loc[df['r_A'] == A[j]].index

A_B_Dict[B[i]] = A_search

给出一些像这样的df:

df = [[1, 'A', 'A'],

[2, 'B', 'D'],

[3, 'C', 'B']

[4, 'D', 'D']

]

df = pd.DataFrame(data, columns = ['idx', 'A', 'B'])

它应该回馈类似的东西:

A_B_Dict = {'A': 1, 'B': 3, 'C':None', 'D':4}

这样,在B列中出现的A列的最近一次遵守(或者所有观察,就此而言)都存储为A_B_Dict其中键的A_B_Dict值是A列中观察到的原始值的值。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
46.1538 1 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子