I have one data frame & two (or multiple) lists of indexes:
data_ = {'Number_a': [12, 13, 14,15,16,17],'Number_b':[11,11,11,12,12,12],'Number_c': [10,5,4,3,2,1]}
data = pd.DataFrame(data=data_)
idx1= [0,2,4]
idx2=[1,3,5]
idx3 =[...,...,..]
I want to create a loop where I can select the rows of data
. for each iteration, I use one list.
so for 1st iteration data has the rows shown in idx1
0,2,4.
how I can do that ?
This is a simplified example, in my actual code, there are different functions that I need to loop on. for each iteration having different rows. Therefore it's important for me to do that within a loop.
CodePudding user response:
You can select rows with data.loc[rows]
.
data_ = {'Number_a': [12, 13, 14,15,16,17],'Number_b':[11,11,11,12,12,12],'Number_c': [10,5,4,3,2,1]}
data = pd.DataFrame(data=data_)
idx1 = [0,2,4]
idx2 = [1,3,5]
for r in (idx1, idx2):
print(data.loc[r])
Output:
Number_a Number_b Number_c
0 12 11 10
2 14 11 4
4 16 12 2
Number_a Number_b Number_c
1 13 11 5
3 15 12 3
5 17 12 1