Pandas:DataFrame和Series

时间:2017-04-26 12:50:24

标签: python pandas dataframe attributes series

我有一个传递DataFrame并使用df.columns属性的函数。但是,当它传递一个只有一列(系列)的DataFrame时会中断,因为一个系列没有该属性。

是否有一个属性适用于系列和数据框,它们等同于DataFrame的df.columns?我看过了,但鉴于在DataFrame文档(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html)中甚至没有显示columns属性,我认为可能会有一些部落知识形式的解决方案。

1 个答案:

答案 0 :(得分:0)

对系列文章使用.name,我只是测试传递的对象的type,并根据需要调用.columns.name

In [242]:
df = pd.DataFrame(columns=list('abc'))
df

Out[242]:
Empty DataFrame
Columns: [a, b, c]
Index: []

In [243]:
df['a'].name

Out[243]:
'a'

像这样:

In [245]:
def func(x):
    if type(x) is pd.DataFrame:
        print( x.columns)
    elif type(x) is pd.Series:
        print( x.name)

print(func(df))
print(func(df['a']))

Index(['a', 'b', 'c'], dtype='object')
None
a
None