python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > dataframe获取行名称列名称

pandas dataframe获取所有行名称与列名称方法示例

作者:bitcarmanlee

这篇文章主要给大家介绍了关于pandas dataframe获取所有行名称与列名称的相关资料,Pandas是Python中用于数据分析的非常重要的库,它提供了多种方法来获取列名,需要的朋友可以参考下

1.获取dataframe行名称

pandas中,dataframe获取行名称,可以有如下两种方式。

def check_rows():
    data = {
        'name': ['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c'],
        's1': [1, 2, 3, 4, 5, 6, 7, 8],
        's2': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
    }
    df = pd.DataFrame(data)
    row_index = df.index
    print("row_index is: ", row_index)
    print("type(row_index) is: ", type(row_index))
    rows_f1 = df.index.values
    print("rows_f1 is: ", rows_f1)
    print("type(rows_f1) is: ", type(rows_f1))
    rows_f1 = rows_f1.tolist()
    print("rows_f1 is: ", rows_f1)
    rows_f2 = [row for row in df.index]
    print("rows_f2 is: ", rows_f2)

df.index为RangeIndex类型,df.index.values属性会输出一个numpy.ndarray类型的数组,将这个数组转化为list,就可以得到所有行名称的list。

该方法的输出为:

row_index is:  RangeIndex(start=0, stop=8, step=1)
type(row_index) is:  <class 'pandas.core.indexes.range.RangeIndex'>
rows_f1 is:  [0 1 2 3 4 5 6 7]
type(rows_f1) is:  <class 'numpy.ndarray'>
rows_f1 is:  [0, 1, 2, 3, 4, 5, 6, 7]
rows_f2 is:  [0, 1, 2, 3, 4, 5, 6, 7]

2.获取dataframe列名称

更多时候,我们是要想获得dataframe的列名,有如下三种方式。

def check_columns():
    data = {
        'name': ['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c'],
        's1': [1, 2, 3, 4, 5, 6, 7, 8],
        's2': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
    }
    df = pd.DataFrame(data)
    columns_name_f1 = [column for column in df]
    print("columns_name_f1 is: ", columns_name_f1)
    columns = df.columns
    print("df.columns is: ", columns)
    print("type(df.columns) is: ", type(df.columns))
    columns_name_f2 = [column for column in df.columns]
    print("columns_name_f2 is: ", columns_name_f2)
    columns_name_f2 = df.columns.values.tolist()
    print("columns_name_f2 is: ", columns_name_f2)
    columns_name_f2 = df.columns.tolist()
    print("columns_name_f2 is: ", columns_name_f2)
    columns_name_f3 = list(df)
    print("columns_name_f3 is: ", columns_name_f3)

第一种方式: 直接列表推导 [column for column in df]

第二种方式: df.columns返回的是Index类型,然后将该Index转成list即可。

第三种方式:直接使用list(df),就返回列名的list。

代码最后输出为:

columns_name_f1 is:  ['name', 's1', 's2']
df.columns is:  Index(['name', 's1', 's2'], dtype='object')
type(df.columns) is:  <class 'pandas.core.indexes.base.Index'>
columns_name_f2 is:  ['name', 's1', 's2']
columns_name_f2 is:  ['name', 's1', 's2']
columns_name_f2 is:  ['name', 's1', 's2']
columns_name_f3 is:  ['name', 's1', 's2']

总结

到此这篇关于pandas dataframe获取所有行名称与列名称的文章就介绍到这了,更多相关dataframe获取行名称列名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文