Rodolfo Betanzos
Rodolfo Betanzos

Reputation: 1

Time column interval filter

I have a dataframe with a "Fecha" column, I would like to reduce de Dataframe size through filter it and maintain just the rows which are on each 10 minutes multiple and discard all rows which are not in 10 minutes multiple.

Desired filter

Some idea? Thanks

Upvotes: 0

Views: 142

Answers (1)

above_c_level
above_c_level

Reputation: 3939

I have to guess some variable names. But assuming your dataframe name is df, the solution should look similar to:

df['Fecha'] = pd.to_datetime(df['Fecha'])
df = df[df['Fecha'].minute % 10 == 0]

The first line guarantees that your 'Fecha' column is in DateTime-Format. The second line filters all rows which are a multiple of 10 minutes. To do this you use the modulus operator %.

Since I'm not sure if this solves your problem, here's a minimal example that runs by itself:

import pandas as pd
idx = pd.date_range(pd.Timestamp(2020, 1, 1), periods=60, freq='1T')
series = pd.Series(1, index=idx)
series = series[series.index.minute % 10 == 0]
series

The first three lines construct a series with a 1 minute index, which is filtered in the fourth line.

Output:

2020-01-01 00:00:00    1
2020-01-01 00:10:00    1
2020-01-01 00:20:00    1
2020-01-01 00:30:00    1
2020-01-01 00:40:00    1
2020-01-01 00:50:00    1
dtype: int64

Upvotes: 1

Related Questions