Как убрать строки с отрицательными днями - PullRequest
0 голосов
/ 19 января 2019

У меня есть фрейм данных, который выглядит следующим образом: несколько строк:

id       type       date_1       date_2       time_delta
1         a      2019-01-19     2019-01-10    9 days
1         b      2018-01-10     2019-01-10    -365 days

Столбец time_delta равен вычитанию date_2 из date_1, а столбцы date_1 иdate_2 в формате pandas.datetime.

Я хочу удалить все строки с отрицательными значениями в столбце time_delta.

Я пытался преобразовать строку какцелое число, а затем удалите строки следующим образом:

df['time_delta'] = int(df['time_delta'])
df = dx_reg.ix[df['time_delta'] < 0]

Но я получаю эту ошибку: `df ['time_delta'] = int (df ['time_delta']) df = df.ix [df ['time_delta '] <0] </p>

Но я получаю эту ошибку: TypeError: cannot convert the series to class 'int'

1 Ответ

0 голосов
/ 19 января 2019

Преобразовать 0 в timedelta:

df = df[df['time_delta'] > pd.Timedelta(0)]

Или преобразовать столбец в дни по Series.dt.days:

df = df[df['time_delta'].dt.days > 0]

print (df)
   id type      date_1      date_2 time_delta
0   1    a  2019-01-19  2019-01-10     9 days
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...