Как оставить только значения int64 в series pandas?

Пользователь

от sylvester , в категории: Python , 2 месяца назад

Как оставить только значения int64 в series pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от autumn_parker , 18 дней назад

@sylvester 

Вы можете использовать метод astype вместе с условием для фильтрации только значений типа int64 в объекте Series:

1
2
3
4
5
6
7
8
9
import pandas as pd

# создание объекта Series с разными типами данных
s = pd.Series([1, 2.5, '3', 4, 5.5, '6', 7], dtype=object)

# фильтрация только значений типа int64
filtered_series = s[s.astype(str).str.isdigit()].astype(int)

print(filtered_series)


Результат:

1
2
3
4
0    1
3    4
6    7
dtype: int64


В этом примере мы используем метод astype(str) для преобразования всех значений в строки, а затем применяем метод str.isdigit(), чтобы проверить, являются ли эти строки числами. Затем мы фильтруем и преобразуем значения в int64 с помощью метода astype(int).