问题描述
我有一个变量,它名为df
。
其类型可以是pd.DataFrame
或pd.Series
。
我想获取df
的列。
对于pd.DataFrame
,我们可以使用df.columns
。对于pd.Series
,我们可以使用df.name
。
那么有一些方法可以将两者收集在一起吗?
我想找到一个pythonic方法,例如从顶级类中将其绑定或注入函数。
无论如何,谢谢您的回答:)
。
解决方法
一个想法是通过isinstance
对其进行测试:
if isinstance(df,pd.Series):
print (df.name)
else:
print (df.columns)
if isinstance(df,pd.Series):
print (df.name)
elif isinstance(df,pd.DataFrame):
print (df.columns)
else:
print ('another')
或通过Series.ndim
,DataFrame.ndim
:
if df.ndim == 1:
print (df.name)
else:
print (df.columns)
if df.ndim == 1:
print (df.name)
elif df.ndim == 2:
print (df.columns)
else:
print ('another')