![](/img/trans.png)
[英]Scrollview Padding One Side More than the Opposite Side (Python Kivy)
[英]How to match more than 2 side by side
我目前正在使用 python,但找不到代碼。 我有 2 個數據框,我想匹配 2 個以上並排匹配的數字。 例如,我想查找 df1 中的數字,並在 df2 中找到超過 2 個並排匹配的數字。
import pandas as pd
cols = ['Num1','Num2','Num3','Num4','Num5','Num6']
df1 = pd.DataFrame([[2,4,6,8,9,10]], columns=cols)
df2 = pd.DataFrame([[1,1,2,4,5,6,8],
[2,5,6,20,22,23,34],
[3,8,12,13,34,45,46],
[4,9,10,14,29,32,33],
[5,1,22,13,23,33,35],
[6,1,6,7,8,9,10],
[7,0,2,3,5,6,8]],
columns = ['Id','Num1','Num2','Num3','Num4','Num5','Num6'])
我希望我的結果是這樣的。
results = pd.DataFrame([[6,1,6,7,8,9,10]],
columns = ['Id', 'Num1','Num2','Num3','Num4','Num5','Num6'])
您可以看到 Id 6 或索引 6 有 8、9、10。 超過 2 個數字並排匹配。
我用這個,它工作!
list1=df2[['Num1','Num2','Num3','Num4','Num5','Num6']].values.tolist()
list2=df1[['Num1','Num2','Num3','Num4','Num5','Num6']].values.tolist()
l=[]
for i in range(6):
if list1[i][i]==list2[0][i]:
l.append(i)
resultt=pd.DataFrame()
resultt=resultt.append(df2.loc[int(l[0])],ignore_index=True)
出去:
Id Num1 Num2 Num3 Num4 Num5 Num6
0 6.0 1.0 6.0 7.0 8.0 9.0 10.0
我會更努力地添加 >2 的條件,因為一行如何匹配條件,但如果不止一個,它就不起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.