Как проверить, является ли переменная списком python, массивом numpy или серией pandas
У меня есть функция, которая принимает переменную, которая будет работать, если это один из следующих трех типов
1. pandas Series
2. numpy array (ndarray)
3. python list
любой другой тип должен быть отклонен. Каков наиболее эффективный способ проверить это?
3 ответов
вы можете сделать это с помощью isinstance
:
import pandas as pd
import numpy as np
def f(l):
if isinstance(l,(list,pd.core.series.Series,np.ndarray)):
print(5)
else:
raise Exception('wrong type')
затем f([1,2,3])
печать 5 пока f(3.34)
выдает ошибку.
Python type () должен выполнить эту работу здесь
l = [1,2]
s= pd.Series(l)
arr = np.array(l)
при печати
type(l)
list
type(s)
pandas.core.series.Series
type(arr)
numpy.ndarray