pandas 读表格_手把手教你数据分析(1)--Pandas读取Excel信息

本篇博客通过实例详细介绍了如何使用Pandas读取Excel文件,包括转换为CSV格式、数据查看及基础分析,如打印数据的前10行、指定行区间、特定列、多列数据,以及描述性统计,适用于初学者入门数据操作。
摘要由CSDN通过智能技术生成

00准备工作:

素材:一份全国各省市市委书记数据表.xls

(链接: https://pan.baidu.com/s/1gbgvcLbfEMM-9hFCZw1VlQ 密码: p66u)

编程环境:mac + anaconda + jupyter notebook + python3.6

目录:

01 使用pandas提取数据表中的数据进行分析

01 python环境安装

02 pandas操作小试牛刀

先将.xls文件保存为.csv格式,这个格式才能被python调用

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)

主要包含的几个命令

读取csv数据 pd.read_csv("路径",encoding='utf-8')

print(data.head(10))

print(data[10:20])

print(data['某一列列名'])

print(data[["列1","列2","列3"]])

打印所有表头,就是所有列名 print(data.colums.tolist())

打印第四行,print(data.loc[4])

打印表的基础数据 print(data.describe()) 默认打印数值类型的

打印表的字符串类型基础数据 print(data.describe(include=[np.object]))

P.S.

jupyter notebook中,table键可以自动补全

下面直接贴代码了,数量有些多,请细心查看

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

data = pd.read_csv("/Users/limingxuan/Documents/GitHub/py05_DataAnalysisWeizhuanye/数据资料/地市级党委书记数据库(2000-10).csv",encoding = "utf-8")

#打印前10行数据

print(data.head(10))

省级政区代码 省级政区名称 地市级政区代码 地市级政区名称 年份 党委书记姓名 出生年份 出生月份 籍贯省份代码 籍贯省份名称 \

0 130000 河北省 130100 石家庄市 2000 陈来立 NaN NaN NaN NaN

1 130000 河北省 130100 石家庄市 2001 吴振华 NaN NaN NaN NaN

2 130000 河北省 130100 石家庄市 2002 吴振华 NaN NaN NaN NaN

3 130000 河北省 130100 石家庄市 2003 吴振华 NaN NaN NaN NaN

4 130000 河北省 130100 石家庄市 2004 吴振华 NaN NaN NaN NaN

5 130000 河北省 130100 石家庄市 2005 吴振华 NaN NaN NaN NaN

6 130000 河北省 130100 石家庄市 2006 吴振华 NaN NaN NaN NaN

7 130000 河北省 130100 石家庄市 2007 吴显国 NaN NaN NaN NaN

8 130000 河北省 130100 石家庄市 2008 吴显国 NaN NaN NaN NaN

9 130000 河北省 130100 石家庄市 2009 车俊 NaN NaN NaN NaN

... 民族 教育 是否是党校教育(是=1,否=0) 专业:人文 专业:社科 专业:理工 专业:农科 专业:医科 入党年份 工作年份

0 ... NaN 硕士 1.0 NaN NaN NaN NaN NaN NaN NaN

1 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

2 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

3 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

4 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

5 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

6 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN NaN

7 ... NaN 硕士 1.0 0.0 1.0 0.0 0.0 0.0 NaN NaN

8 ... NaN 硕士 1.0 0.0 1.0 0.0 0.0 0.0 NaN NaN

9 ... NaN 本科 1.0 0.0 1.0 0.0 0.0 0.0 NaN NaN

[10 rows x 23 columns]

#打印[10-20)行数据

print(data[10:20])

省级政区代码 省级政区名称 地市级政区代码 地市级政区名称 年份 党委书记姓名 出生年份 出生月份 籍贯省份代码 籍贯省份名称 \

10 130000 河北省 130100 石家庄市 2010 孙瑞彬 NaN NaN NaN NaN

11 130000 河北省 130200 唐山市 2000 白润璋 NaN NaN NaN NaN

12 130000 河北省 130200 唐山市 2001 白润璋 NaN NaN NaN NaN

13 130000 河北省 130200 唐山市 2002 白润璋 NaN NaN NaN NaN

14 130000 河北省 130200 唐山市 2003 张和 NaN NaN NaN NaN

15 130000 河北省 130200 唐山市 2004 张和 NaN NaN NaN NaN

16 130000 河北省 130200 唐山市 2005 张和 NaN NaN NaN NaN

17 130000 河北省 130200 唐山市 2006 张和 NaN NaN NaN NaN

18 130000 河北省 130200 唐山市 2007 赵勇 NaN NaN NaN NaN

19 130000 河北省 130200 唐山市 2008 赵勇 NaN NaN NaN NaN

... 民族 教育 是否是党校教育(是=1,否=0) 专业:人文 专业:社科 专业:理工 专业:农科 专业:医科 入党年份 \

10 ... NaN 硕士 1.0 0.0 1.0 0.0 0.0 0.0 NaN

11 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

12 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

13 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

14 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

15 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

16 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

17 ... NaN 本科 0.0 0.0 0.0 1.0 0.0 0.0 NaN

18 ... NaN 博士 0.0 0.0 1.0 0.0 0.0 0.0 NaN

19 ... NaN 博士 0.0 0.0 1.0 0.0 0.0 0.0 NaN

工作年份

10 NaN

11 NaN

12 NaN

13 NaN

14 NaN

15 NaN

16 NaN

17 NaN

18 NaN

19 NaN

[10 rows x 23 columns]

#根据列名,打印某一列数据

print(data['党委书记姓名'])

0 陈来立

1 吴振华

2 吴振华

3 吴振华

4 吴振华

5 吴振华

6 吴振华

7 吴显国

8 吴显国

9 车俊

10 孙瑞彬

11 白润璋

12 白润璋

13 白润璋

14 张和

15 张和

16 张和

17 张和

18 赵勇

19 赵勇

20 赵勇

21 赵勇

22 王建忠

23 王建忠

24 王建忠

25 宋长瑞

26 宋长瑞

27 宋长瑞

28 宋长瑞

29 王三堂

...

3633 NaN

3634 NaN

3635 NaN

3636 NaN

3637 NaN

3638 NaN

3639 NaN

3640 NaN

3641 NaN

3642 NaN

3643 NaN

3644 NaN

3645 NaN

3646 NaN

3647 NaN

3648 NaN

3649 NaN

3650 NaN

3651 NaN

3652 NaN

3653 NaN

3654 NaN

3655 NaN

3656 NaN

3657 NaN

3658 NaN

3659 NaN

3660 NaN

3661 NaN

3662 NaN

Name: 党委书记姓名, Length: 3663, dtype: object

#查看所有字段

field = data.columns.tolist()

print(field)

['省级政区代码', '省级政区名称', '地市级政区代码', '地市级政区名称', '年份', '党委书记姓名', '出生年份', '出生月份', '籍贯省份代码', '籍贯省份名称', '籍贯地市代码', '籍贯地市名称', '性别', '民族', '教育', '是否是党校教育(是=1,否=0)', '专业:人文', '专业:社科', '专业:理工', '专业:农科', '专业:医科', '入党年份', '工作年份']

#只显示第四行

print(data.loc[4])

省级政区代码 130000

省级政区名称 河北省

地市级政区代码 130100

地市级政区名称 石家庄市

年份 2004

党委书记姓名 吴振华

出生年份 NaN

出生月份 NaN

籍贯省份代码 NaN

籍贯省份名称 NaN

籍贯地市代码 NaN

籍贯地市名称 NaN

性别 NaN

民族 NaN

教育 本科

是否是党校教育(是=1,否=0) 0

专业:人文 0

专业:社科 0

专业:理工 1

专业:农科 0

专业:医科 0

入党年份 NaN

工作年份 NaN

Name: 4, dtype: object

#打印多个列数据,需要双层[[]]

print(data[["党委书记姓名","年份","教育"]])

党委书记姓名 年份 教育

0 陈来立 2000 硕士

1 吴振华 2001 本科

2 吴振华 2002 本科

3 吴振华 2003 本科

4 吴振华 2004 本科

5 吴振华 2005 本科

6 吴振华 2006 本科

7 吴显国 2007 硕士

8 吴显国 2008 硕士

9 车俊 2009 本科

10 孙瑞彬 2010 硕士

11 白润璋 2000 本科

12 白润璋 2001 本科

13 白润璋 2002 本科

14 张和 2003 本科

15 张和 2004 本科

16 张和 2005 本科

17 张和 2006 本科

18 赵勇 2007 博士

19 赵勇 2008 博士

20 赵勇 2009 博士

21 赵勇 2010 博士

22 王建忠 2000 本科

23 王建忠 2001 本科

24 王建忠 2002 本科

25 宋长瑞 2003 硕士

26 宋长瑞 2004 硕士

27 宋长瑞 2005 硕士

28 宋长瑞 2006 硕士

29 王三堂 2007 硕士

... ... ... ...

3633 NaN 2003 NaN

3634 NaN 2004 NaN

3635 NaN 2005 NaN

3636 NaN 2006 NaN

3637 NaN 2007 NaN

3638 NaN 2008 NaN

3639 NaN 2009 NaN

3640 NaN 2010 NaN

3641 NaN 2000 NaN

3642 NaN 2001 NaN

3643 NaN 2002 NaN

3644 NaN 2003 NaN

3645 NaN 2004 NaN

3646 NaN 2005 NaN

3647 NaN 2006 NaN

3648 NaN 2007 NaN

3649 NaN 2008 NaN

3650 NaN 2009 NaN

3651 NaN 2010 NaN

3652 NaN 2000 NaN

3653 NaN 2001 NaN

3654 NaN 2002 NaN

3655 NaN 2003 NaN

3656 NaN 2004 NaN

3657 NaN 2005 NaN

3658 NaN 2006 NaN

3659 NaN 2007 NaN

3660 NaN 2008 NaN

3661 NaN 2009 NaN

3662 NaN 2010 NaN

[3663 rows x 3 columns]

#查看基础数据

#mean = 均值

#std = 方差

print(data.describe())#只针对数值型

#()中没有任何参数时,会默认只统计数值类型的字段内容 等同于 data.describe(include = np.object[np.number])

省级政区代码 地市级政区代码 年份 出生年份 出生月份 \

count 3663.000000 3663.000000 3663.000000 2676.000000 2645.000000

mean 403393.393393 404456.756757 2005.000000 1953.622571 6.790548

std 148176.721620 148485.810327 3.162709 4.416316 3.614664

min 130000.000000 130100.000000 2000.000000 1941.000000 1.000000

25% 330000.000000 330100.000000 2002.000000 1951.000000 3.000000

50% 420000.000000 420200.000000 2005.000000 1954.000000 7.000000

75% 510000.000000 513400.000000 2008.000000 1956.000000 10.000000

max 650000.000000 654300.000000 2010.000000 1966.000000 14.000000

籍贯省份代码 籍贯地市代码 是否是党校教育(是=1,否=0) 专业:人文 \

count 2624.000000 2615.000000 2493.000000 2370.000000

mean 364428.353659 365742.332696 0.430405 0.275527

std 126267.485520 125961.993399 0.576136 0.446874

min 110000.000000 120000.000000 0.000000 0.000000

25% 320000.000000 320700.000000 0.000000 0.000000

50% 370000.000000 370700.000000 0.000000 0.000000

75% 430000.000000 431300.000000 1.000000 1.000000

max 640000.000000 640500.000000 9.000000 1.000000

专业:社科 专业:理工 专业:农科 专业:医科 入党年份 \

count 2376.000000 2371.000000 2369.000000 2370.000000 2384.000000

mean 0.627525 0.256854 0.067539 0.009705 1976.906879

std 0.483566 0.436990 0.251006 0.098054 5.310080

min 0.000000 0.000000 0.000000 0.000000 1961.000000

25% 0.000000 0.000000 0.000000 0.000000 1973.000000

50% 1.000000 0.000000 0.000000 0.000000 1976.000000

75% 1.000000 1.000000 0.000000 0.000000 1981.000000

max 1.000000 1.000000 1.000000 1.000000 1994.000000

工作年份

count 2568.000000

mean 1973.129673

std 4.856564

min 1958.000000

25% 1970.000000

50% 1972.500000

75% 1976.000000

max 1990.000000

#显示字符串的统计计数

print(data.describe(include=[np.object]))

#count = 出现的次数

#unique = 不同数量

#top = 出现频率最高的城市……

#出现频率

省级政区名称 地市级政区名称 党委书记姓名 籍贯省份名称 籍贯地市名称 性别 民族 教育

count 3663 3663 3021 2624 2615 2708 2517 2550

unique 27 333 901 29 240 2 2 7

top 广东省 泸州市 焉荣竹 山东省 威海市 男 汉族 硕士

freq 231 11 11 313 58 2633 2351 1381

我自己在学这门课,觉得不错,推荐给想入门又找不到门道的小伙伴~

这是当初推荐给我的数据分析大牛写的推荐理由,原封不动放这里啦:

这门课程是很系统的,而且适合小白基础入门的。长得非常详细,然后循序渐进,后面有比较综合性的项目实践操作演练。

有两个好处,一是就是帮我们更加系统的学习,少走弯路,二,好的学习资料,帮我们节约学习时间。

贵是贵了点,不过,考虑考虑你的时间成本,我个人觉得还是值得的

数据分析课

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值