Pandas 需要在熊猫系列上循环以找到变量的索引

Pandas 需要在熊猫系列上循环以找到变量的索引,pandas,Pandas,我有一个数据框和一个列表。我想迭代列表中的元素,找到它们在dataframe中的位置,然后将其存储到新的dataframe中 my_list = ['1','2','3','4','5'] df1 = pd.DataFrame(my_list, columns=['Num']) 数据帧:df1 Num 0 1 1 2 2 3 3 4 4 5

我有一个数据框和一个列表。我想迭代列表中的元素,找到它们在dataframe中的位置,然后将其存储到新的dataframe中

my_list = ['1','2','3','4','5']
df1 = pd.DataFrame(my_list, columns=['Num'])
数据帧:df1

            Num
     0      1       
     1      2       
     2      3
     3      4
     4      5
数据帧:df2

        0        1      2       3         4
0       9        12     8       6         7
1       11       1      4       10        13
2       5        14     2       0         3
我也尝试过类似的方法,但没有效果

for x in my_list:
    i,j= np.array(np.where(df==x)).tolist()
    df2['X'] = df.append(i)
    df2['Y'] = df.append(j)
所以,寻找这样的结果

数据帧:df1已更新

            Num     X       Y
     0      1       1       1
     1      2       2       2
     2      3       2       4
     3      4       1       2
     4      5       2       0

如果您有任何提示或想法,我们将不胜感激

与其尝试在df2中找到价值,不如将df2变成一个平面数据帧

df2 = pd.melt(df2)
df2.reset_index(inplace=True)
df2.columns = ['X', 'Y', 'Num']
现在您的df2看起来就像这样:

Index   X   Y   Num
0       0   0   9
1       1   0   11
2       2   0   5
3       3   1   12
4       4   1   1
5       5   1   14
当然,您可以按Num排序,如果您只需要列表中的值,则可以进一步筛选df2:

df2 = df2[df2.Num.isin(my_list)]