如何将“ DataFrame.columns”和“ Series.name”集合到一个?

问题描述

我有一个变量,它名为df。 其类型可以是pd.DataFramepd.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.ndimDataFrame.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')