I have a list and panda data frame and I want to use for loop, if loop and zip on them to get a single value from the data frame based on the corresponding value in v.
list v
v=[3,2,1,0,4,0,0,1,2,4]
pandas data frame df
               1st          2nd          3rd          4th
  b1      0.498717     0.264786   0.00992303  0.000516895
  b2      0.427093    0.0990702   0.00107178  2.75326e-05
  b3      0.276645    0.0322039  0.000112341  1.60488e-06
  b4       0.14827   0.00928838  1.09752e-05   9.2808e-08
  b5     0.0975582   0.00440099  2.86551e-06  1.83807e-08
  b6     0.0302828    0.0006493  1.04099e-07  3.58615e-10
  b7     0.0211258  0.000372098  4.07256e-08  1.19155e-10
  b8    0.00833787  9.24801e-05   4.0522e-09  8.08719e-12
  b9      0.028685  0.000596652  9.02113e-08  3.03026e-10
  b10  0.000693003   2.7417e-06   1.4319e-11  1.22682e-14
I tried this way but it returns an empty data frame
Empty DataFrame
Columns: []
Index: []
n=[] #or pd.DataFrame() 
for ns in range(0, len(v)):
    for i,row in list(zip(v,df)):# df.row,.iterrows(),.index 
        print(row)
        if i ==1:
            n.append(row.iloc[ns]['1st'])
        elif i==2:
            n.append(row.iloc[ns]['2nd'])
        elif i==3:
            n.append(row.iloc[ns]['3rd'])
        elif i == 4:
            n.append(row.iloc[ns]['4th'])
        else:
            n.append(0)
    vs=n
print(vs)
The output i am looking for
vs=[0.00992303,0.0990702 ,0.276645,0,.......] # or pd.Dataframe
 
    