根据键行在轴上查找第一个骗子 - python

这是我的数据框

df = pd.DataFrame({0: {'key': 2, 1: 7, 2: 5, 3: 4, 4: 2, 5: 7}, 1: {'key': 3, 1: 6, 2: 4, 3: 5, 4: 3, 5: 6}, 2: {'key': 4, 1: 3, 2: 3, 3: 4, 4: 4, 5: 3}, 3: {'key': 3, 1: 4, 2: 2, 3: 3, 4: 5, 5: 4}, 4: {'key': 6, 1: 5, 2: 3, 3: 6, 4: 4, 5: 3}, 5: {'key': 2, 1: 4, 2: 6, 3: 7, 4: 3, 5: 2}, 6: {'key': 3, 1: 3, 2: 7, 3: 6, 4: 6, 5: 1}, 7: {'key': 4, 1: 2, 2: 6, 3: 3, 4: 7, 5: 2}, 8: {'key': 3, 1: 1, 2: 7, 3: 4, 4: 6, 5: 3}, 9: {'key': 6, 1: 2, 2: 6, 3: 5, 4: 3, 5: 6}})

     0  1  2  3  4  5  6  7  8  9
key  2  3  4  3  6  2  3  4  3  6
1    7  6  3  4  5  4  3  2  1  2
2    5  4  3  2  3  6  7  6  7  6
3    4  5  4  3  6  7  6  3  4  5
4    2  3  4  5  4  3  6  7  6  3
5    7  6  3  4  3  2  1  2  3  6

我需要找到相关索引与从左到右的键行匹配的列。

例如,在索引1处,列6与键行具有相同的值,索引2匹配在列9处的键行,并且之前没有值。可以将相同的逻辑应用于索引3、4和5。

我只需要索引与键值匹配的第一个实例,之后的所有值都没有关系。

预期产量


      0   1   2   3   4   5   6   7   8   9   trace
key   2   3   4   3   6   2   3   4   3   6   NaN
1     7   6   3   4   5   4   3   2   1   2   6
2     5   4   3   2   3   6   7   6   7   6   9
3     4   5   4   3   6   7   6   3   4   5   2
4     2   3   4   5   4   3   6   7   6   3   0
5     7   6   3   4   3   2   1   2   3   6   5

我尝试了duplicates的许多变体,但似乎没有任何效果。

参考方案

您可以在检查df中的值等于(idxmax)键行的位置后,将eq与沿列的轴一起使用。

df["trace"] = df.iloc[1:, :].eq(df.loc['key', :]).idxmax(axis=1)
print (df)
     0  1  2  3  4  5  6  7  8  9  trace
key  2  3  4  3  6  2  3  4  3  6    NaN
1    7  6  3  4  5  4  3  2  1  2    6.0
2    5  4  3  2  3  6  7  6  7  6    9.0
3    4  5  4  3  6  7  6  3  4  5    2.0
4    2  3  4  5  4  3  6  7  6  3    0.0
5    7  6  3  4  3  2  1  2  3  6    5.0

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。