Как извлечь определенные строки в панд - PullRequest
0 голосов
/ 24 мая 2018

У меня есть 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 ]

0 голосов
/ 24 мая 2018

Если timestamp является числовым, вы можете использовать по модулю %:

df.loc[df.timestamp % 1 == 0]

           timestamp
index           
26600    58161.0
26936    58162.0

Если это не числовое значение для начала, вы можете сделать то же самое, но сначала преобразовать:

df.loc[df.timestamp.astype(float) % 1 == 0]
0 голосов
/ 24 мая 2018

Один из способов - сравнить серию float с версией int:

df.loc[df[df['timestamp'] == df['timestamp'].astype(int)]
...