How to iterate row by row in a pandas dataframe and look for a value in its columns
11,649
You can use iterrows(), like in the following code:
for index, row in dataFrame.iterrows():
print(row)
But this is not the most efficient way to iterate over a panda DataFrame, more info at this post.
Author by
corcholatacolormarengo
Updated on December 09, 2022Comments
-
corcholatacolormarengo over 1 year
I must read each row of an excel file and preform calculations based on the contents of each row. Each row is divided in columns, my problem is that I cannot find a way to access the contents of those columns.
I'm reading the rows with:
for i in df.index,: print(df.loc[i])
Which works well, but when I try to access, say, the 4h column with this type of indexing I get an error:
for i in df.index,: print(df.loc[i][3])
I'm pretty sure I'm approaching the indexing issue in the wrong way, but I cannot figure put how to solve it.
-
Rolando cq about 5 yearsthere is
iterrows()
for a dataframe. Look here -
DYZ about 5 yearsYou normally do not iterate through the rows of a dataframe. You may expect a more useful answer if you provide an example of your dataframe and the operation that you want to apply.
-
Rolando cq about 5 yearsalso, loc does not give you a list to access, would be
.loc[column]
.loc[column, index]
,.loc[[columns,...],[indexs,...]]
Here -
Tarifazo about 5 years
loc
is used to access data by labels (column names or indices),iloc
is used to access data by row and column position (i.e. integer). You can combine them:df.loc[some_index].iloc[3]
-