Как извлечь определенные строки в панд
У меня есть пандас DF, который является:
df['timestamp']
26600 58161.0
26628 58161.0416667
26656 58161.0833333
26684 58161.125
26712 58161.1666667
26740 58161.2083333
26768 58161.25
26796 58161.2916667
26824 58161.3333333
26852 58161.375
26880 58161.4166667
26908 58161.4583333
26936 58162.0
26964 58162.0416645
26992 58162.0833333
Я хотел бы извлечь только две строки, которые заканчиваются на ".0"
Я пытался с этой командой:
df['timestamp'].str.startswith(".0", na=False)
но это возвращает:
AttributeError: 'Series' object has no attribute 'startswith'
Есть ли простой способ сделать эту работу?
Спасибо
2 ответа
Если timestamp
является числовым, вы можете использовать по модулю %
:
df.loc[df.timestamp % 1 == 0]
timestamp
index
26600 58161.0
26936 58162.0
Если это не числовое значение, вы можете сделать то же самое, но сначала конвертировать:
df.loc[df.timestamp.astype(float) % 1 == 0]
Одним из способов является сравнение ваших float
серия к int
версия:
df.loc[df[df['timestamp'] == df['timestamp'].astype(int)]