了解了Series和dataframe的基本數(shù)據(jù)結(jié)構(gòu)和索引的相關(guān)概念之后,就可以練習(xí)基本的excel操作。pandas讀取一個(gè)excel文件后會(huì)將其轉(zhuǎn)化為DataFrame對(duì)象,每一列或行就是一個(gè)Series對(duì)象,本節(jié)課我們看下如何整體的了解一個(gè)excel,比如查看一個(gè)excel的行數(shù)、列數(shù)、表頭、前幾行、后幾行。下面用代碼依次展示。
1)獲取行數(shù):df.index
pandas會(huì)默認(rèn)給一個(gè)excel文件的行設(shè)置數(shù)字索引,從0開始算;如果一個(gè)excel多個(gè)列的行數(shù)不同則按照行數(shù)最多的那一列計(jì)算。
- # -*- coding: utf-8 -*-
- import pandas as pd
- df = pd.read_excel('kwd.xlsx')
- print(df.index) # 行索引
RangeIndex(start=0, stop=3747, step=1)
2)同時(shí)獲取行數(shù)和列數(shù):df.shape
輸出元祖,分別為行數(shù)和列數(shù),默認(rèn)第一行是表頭不算行數(shù)。
- # -*- coding: utf-8 -*-
- import pandas as pd
- df = pd.read_excel('kwd.xlsx')
- print(df.shape)
(3747, 4)
3)獲取表頭:df.columns、df.keys()
默認(rèn)是把excel的第一行當(dāng)成表頭來(lái)顯示。注意:如果read_excel的sheet_name參數(shù)設(shè)為None,則df.keys()的結(jié)果是所有sheet名對(duì)象。
- # -*- 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
- # 參數(shù)為None 代表讀取所有sheet
- df = pd.read_excel('kwd_city.xlsx',sheet_name=None)
- # 獲取所有sheet名字
- # 如果read_excel參數(shù)不是None,則df.keys()為表頭
- sheet_names = list(df.keys())
- print(sheet_names)
['北京', '杭州', '天津', '上海', '南京', '蘇州', '成都', '太原', '南寧', '鄭州', '無(wú)錫', '武漢', '青島', '長(zhǎng)沙', '南昌', '常州']
5)前幾行后幾行
df.head(n) 數(shù)據(jù)框的前n行,會(huì)顯示索引
df.tail(n) 數(shù)據(jù)框的后n行,會(huì)顯示索引
- # -*- 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)詳細(xì)信息:df.info()
df.info()直接輸出詳細(xì)信息,返回值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
聯(lián)系客服