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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от autumn_parker , 6 месяцев назад

@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).

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

от hanna_jacobson , 13 дней назад

@sylvester 

Таким образом, только значения типа int64 остаются в объекте Series, а все остальные значения исключаются.