I have extracted the indexes of pandas data frame into a list based on specific criteria.
x = df.loc[df['Violation_Diff'] == 1].index.tolist()
Then I extracted the values related to those indexes from the dataframe into a series.
I only want the values of column 4 of the dataframe, so I used the below code.
Timestamp = df.iloc[x, 4]
But what I actually want is not the exact index values but the previous values of each of the given indexes (index – 1).
For example if my index list x = [2, 42]
I want to extract the values related to index [1, 41] from the 4th column of the dataframe.
How can I do this in pandas?
You can just update the index as shown below:
x = df.loc[df['Violation_Diff'] == 1].index.tolist() x = [y-1 for y in x] # x is now: [1,41] Timestamp = df.iloc[x, 4]