擅长:python、mysql、java
<p>这是我给你的答案:
.last\u valid\u index()是一个方便的函数,可用于您的任务。不幸的是,它找到的是最后一行,而不是最后一列。因此,我在前面转置了dataframe,以便交换行和列,然后可以使用.last\u valid\u index()</p>
<pre><code> import pandas as pd
#creating first df
names = pd.DataFrame()
names["Names"] = ["Jacob","Dash","Tim","John","Kanye"]
#creating second df
table = pd.DataFrame()
table[0] = ["Jacob","NA","NA","NA","NA"]
table[1] = ["NA","Dash","Jacob","NA","NA"]
table[2] = ["NA","NA","Tim","NA","Dash"]
table[3] = ["Tim","NA","NA","John","NA"]
#find last occurrence
table_T = table.transpose() #create transpose copy of df
last_occurrences = [table_T.where(table_T==name).last_valid_index() for name in names["Names"]]
names["LastOcc"] = last_occurrences
</code></pre>
<p>结果添加到第一个数据帧中:
<a href="https://i.stack.imgur.com/30P8G.png" rel="nofollow noreferrer">see picture</a></p>