pandas数据分析轻松学(二)——读取Excel文件

该系列博客,均来自刘铁猛老师的视频内容,网址如下:

http://www.timliu.net

 

一、IDE环境:anaconda+PyCharm,python3.6

二、新建.py文件(注意文件命名)

三、具体读取数据操作如下:

  • Excel文件头部和尾部行数据的读取
import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People.xlsx')  # 读取文件数据,返回一个指向数据对象的引用
print(people.shape)  # 打印出people对象的属性(有几行几列)
print(people.head(3))  # 传递形参为空时,默认打印表的前五行
print('===============================')
print(people.tail(3))  # 传递形参为空时,默认打印表的前五行

 运行结果如下: 

  • Excel文件列名称的读取
import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People.xlsx')  # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名

运行结果如下:

 

但如果Excel文件中有脏数据,比如第一行是脏数据,从第二行开始,才是我们所需的数据,如下图:
 

应该如何调用pandas库实现所需数据的访问???(如下图所示的解决方法,设置读取文件的属性即可)

import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=1)#header默认为0,此处设置为1   
print(people.columns)#读取文件的列名

运行结果如下 

 

注意:1、如果Excel文件第一行为空,那么不指定header=1也能正确答应header的属性值

           2、只要第一行数据错误(脏数据),那么就必须指定数据读取的第一行属性值,也就是“header”属性了

           3、若没有列名,那么就设置“header=None”,系统就会自动生成一个从0开始的整数列表作为列名,如下图所示:

import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=None)  # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名

 

我们可以人为的设置表的列名,并保存所需文件,如下所示:

import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/People2.xlsx',header=None)  # 读取文件数据,返回一个指向数据对象的引用
people.columns=['Id','Type','Title','FirstName','MiddleName','LastName']#设置表的列名
people=people.set_index('Id')#设置Id为索引,生成新的对象后,返回一个指向people的对象
print(people.columns)#读取文件的列名
people.to_excel('C:/Users/Dongxiao Yuan/Desktop/Output.xlsx')#保存新的文件
print('Done!!')



#people=people.set_index('Id')代码可用下面的代码来替换
#people.set_index('Id',inplace=True)

运行结果如下(Id已经消失,因为它已经变成index了): 

 

people.set_index('Id',inplace=True)代码第二个参数指在源文件基础上改动并保存

注意:pandas中把index和columns分开对待,所以打印时没有Id这一列

 

  •  再次打开文件时,如果知道哪一列是索引,必须指明,不然pandas又会给自动生成从0开始的整数索引,如下图:

import pandas as pd

people = pd.read_excel('C:/Users/Dongxiao Yuan/Desktop/Output.xlsx',index_col='Id')  # 读取文件数据,返回一个指向数据对象的引用
print(people.columns)#读取文件的列名
people.to_excel('C:/Users/Dongxiao Yuan/Desktop/Output4.xlsx')#保存新的文件
print('Done!!')

 

四、小结

1、每次运行程序,必须保证文件的关闭,不然会出现意料之外的结果或者错误

2、本小结主要讲了Excel文件属性的设置,包括:

      打开属性:header=1/None,index_col=‘Id’

      文件属性设置:people.columns=['Id','Type','Title','FirstName','MiddleName','LastName']#设置表的列名

                               people=people.set_index('Id')#设置Id为索引,生成新的对象后,返回一个指向people的对象

                               people.set_index('Id',inplace=True)

      文件属性:people.shape,people.head(3),people.tail(3)

                       print(people.columns)#读取文件的列名

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这篇笔记主要介绍了Pandas模块的基本操作和使用方法。PandasPython中一个用于数据分析和处理的常用库,提供了高效的数据结构和数据分析工具,是进行数据处理和数据挖掘的重要工具之一。 一、Pandas数据结构 Pandas主要有两种数据结构:Series和DataFrame。 1. Series Series是一种类似于一维数组的对象,由一组数据和一组与之相关的标签(即索引)组成。Series的创建方式如下: ```python import pandas as pd # 通过列表创建Series s = pd.Series([1, 3, 5, np.nan, 6, 8]) # 通过字典创建Series s = pd.Series({'a': 1, 'b': 2, 'c': 3}) ``` 2. DataFrame DataFrame是一种维表格数据结构,由一组数据和一组行索引和列索引组成。DataFrame的创建方式有很多种,最常用的是通过字典创建。例如: ```python import pandas as pd data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22], 'gender': ['M', 'M', 'F']} df = pd.DataFrame(data) ``` Pandas的基本操作 1. 数据读取 Pandas可以读取多种格式的数据文件,如CSV、Excel、SQL等。常用的读取CSV文件的方式如下: ```python import pandas as pd df = pd.read_csv('data.csv') ``` 2. 数据预处理 数据预处理是数据挖掘中非常重要的一部分,Pandas提供了很多方便的函数和方法来进行数据清洗和转换。常用的数据预处理函数和方法有: - 处理缺失值 ```python # 判断是否存在缺失值 df.isnull() # 删除缺失值 df.dropna() # 填充缺失值 df.fillna(value) ``` - 处理重复值 ```python # 删除重复值 df.drop_duplicates() ``` - 数据转换 ```python # 数据类型转换 df.astype() # 数据替换 df.replace() ``` 3. 数据分析 Pandas提供了各种数据分析和处理的方法和函数,常用的包括: - 统计函数 ```python # 计算平均值 df.mean() # 计算标准差 df.std() # 计算最大值和最小值 df.max(), df.min() ``` - 排序 ```python # 按照某列排序 df.sort_values(by='column_name') ``` - 数据聚合 ```python # 对某列数据进行分组求和 df.groupby('column_name').sum() ``` 以上是Pandas模块的基础内容,还有很多高级用法和技巧需要进一步习和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值