Although element extraction comes out based on row name / column name, row number / column number such as loc, iloc, etc. I couldn't find the extraction method by column name x row number, so I posted a memo.
From the original data frame (with column name, without row name), divide into groups with specific elements, It was necessary to refer to each data frame one line at a time for processing.
At that time, I tried to process by row number because I could specify the column but not the row as I expected. (I thought about reset_index, but I'm sure it should be possible to specify by column name x row number ...)
At and index can be combined and extracted with df.at [df.index [row number],'column name'] </ b>
(I should have read the article below properly ...) https://note.nkmk.me/python-pandas-at-iat-loc-iloc/
DataFrame
#Create a data frame with only column names
df = pd.DataFrame({'person':['a','b','c','a','b','c'],\
'name':['aa','bb','cc','aaa','bbb','ccc'],\
'num':[100,200,300,1000,2000,3000]})
person name num
0 a aa 100
1 b bb 200
2 c cc 300
3 a aaa 1000
4 b bbb 2000
5 c ccc 3000
Either way is possible to simply extract the 0th row (= aa) of the "name" column from the original df.
person_0
df['name'][0]
#On the extracted line(Omoto)index=Can be extracted because there is 0
# aa
df.at[df.index[0],'name']
# aa
This time, narrow down the "person" column to the same person, and then try to get the 0th row.
person_a_0
# "person"Narrow down to row with column a
df_a = df[df['person']=="a"]
df_a
person name num
0 a aa 100
3 a aaa 1000
df_a['name'][0]
#On the extracted line(Omoto)index=Can be extracted because there is 0
# aa
df_a.at[df_a.index[0],'name']
# aa
person_b_0
# "person"Narrow down to row with column b
df_b = df[df['person']=="b"]
df_b
person name num
1 b bb 200
4 b bbb 2000
df_b['name'][0]
#Index on the extracted row=Error because there is no 0
df_b.at[df_b.index[0],'name']
# bb
By using at, we were able to extract elements by line number for any data frame.
I hope it will be useful for those who are in trouble because they cannot find it.
Recommended Posts