python

当前位置:首页 > Pandas教程 > 当前文章

Pandas教程

pandas获取excel的行数,列数,表头,sheet,前后行等数据

2020-06-04 140赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  了解了和的基本数据结构和索引的相关概念之后,我们就可以练习基本的excel操作了。pandas读取一个excel文件后会将其转化为DataFrame对象,每一列就是一个Series对象,本节课我们来看下如何来整体的了解一个excel,比如查看一个excel的行数、列数、表头、前几行、后几行。下面用代码依次展示。

  1)获取行数:df.index

  pandas会默认给一个excel文件的行设置数字索引,从0开始算;如果一个excel多个列的行数不同则按照行数最多的那一列计算。

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.read_excel('kwd.xlsx')
print(df.index)  #  行索引
RangeIndex(start=0, stop=3747, step=1)


  2)获取行数和列数:df.shape

  输出元祖,分别为行数和列数,默认第一行是表头不算行数。

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.read_excel('kwd.xlsx')
print(df.shape) 
(3747, 4)

  3)获取表头:df.columns、df.keys()

  默认是把excel的第一行当成表头来显示。注意:如果read_excel的sheet_name参数设为None,则df.keys()的结果是所有sheet名对象。

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.read_excel('kwd.xlsx')
print(df.keys())
print('---------------')
print(df.columns)
Index([9, '上海', '地铁站', '富锦路租房'], dtype='object')
---------------
Index([9, '上海', '地铁站', '富锦路租房'], dtype='object')


  4)获取所有sheet:df.keys()

# -*- coding: utf-8 -*-
import pandas as pd

# 参数为None 代表读取所有sheet
df = pd.read_excel('kwd_city.xlsx',sheet_name=None)
# 获取所有sheet名字
# 如果read_excel参数不是None,则df.keys()为表头
sheet_names = list(df.keys())
print(sheet_names)
['北京', '杭州', '天津', '上海', '南京', '苏州', '成都', '太原', '南宁', '郑州', '无锡', '武汉', '青岛', '长沙', '南昌', '常州']


  5)前几行后几行

  df.head(n) 数据框的前n行,会显示索引

  df.tail(n) 数据框的后n行,会显示索引

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.read_excel('kwd.xlsx')
print(df.head(3))
print('----------------')
print(df.tail(3))
    9  上海  地铁站   富锦路租房
0  10  上海  地铁站  友谊西路租房
1  11  上海  地铁站  宝安公路租房
2  12  上海  地铁站  共富新村租房
----------------
        9  上海 地铁站  富锦路租房
3744  279  郑州  商圈  政通路租房
3745  280  郑州  商圈  淮北街租房
3746  281  郑州  商圈  淮河路租房


  6)详细信息:df.info()

  df.info()直接输出详细信息,返回值None。

# -*- coding: utf-8 -*-
import pandas as pd

df = pd.read_excel('kwd.xlsx')
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3747 entries, 0 to 3746
Data columns (total 4 columns):
9        3747 non-null int64
上海       3747 non-null object
地铁站      3747 non-null object
富锦路租房    3747 non-null object
dtypes: int64(1), object(3)
memory usage: 117.2+ KB


文章评论

pandas获取excel的行数,列数,表头,sheet,前后行等数据文章写得不错,值得赞赏