Pandas 需要在熊猫系列上循环以找到变量的索引
我有一个数据框和一个列表。我想迭代列表中的元素,找到它们在dataframe中的位置,然后将其存储到新的dataframe中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
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)]