Py学习  »  Python

Python使用pandas读取Excel文件数据和预处理小案例

Python小屋 • 6 年前 • 713 次点击  

假设有Excel文件data.xlsx,其中内容为

现在需要将这个Excel文件中的数据读入pandas,并且在后续的处理中不关心ID列,还需要把sex列的female替换为1,把sex列的male替换为0。本文演示有关的几个操作。

(1)导入pandas模块

>>> import pandas as pd


(2)把Excel文件中的数据读入pandas

>>> df = pd.read_excel('data.xlsx')
>>> df
         ID  age  height     sex  weight
张三   1   39     181  female      85
李四   2   40     180    male      80
王五   3   38     178  female      78
赵六   4   59     170    male      66


(3)删除ID列

可以得到新的DataFrame:

>>> df.drop('ID', axis=1)
         age  height     sex  weight
张三   39     181  female      85
李四   40     180    male      80
王五   38     178  female      78
赵六   59     170    male      66


也可以直接在原DataFrame上原地删除:
>>> df.drop('ID', axis=1, inplace=True)
>>> df
         age  height     sex  weight
张三   39     181  female      85
李四   40     180    male      80
王五   38     178  female      78
赵六   59     170    male      66


(4)替换sex列

方法一:使用replace()方法替换sex列,得到新的DataFrame,如果指定参数inplace=True,则可以原地替换。

>>> df.replace({'female':1, 'male':0})
         age  height  sex  weight
张三   39     181    1      85
李四   40     180    0      80
王五   38     178    1      78
赵六   59     170    0      66


方法二:使用map()方法+lambda表达式,原地替换。

>>> df1 = df[:]
>>> df1['sex'] = df1['sex'].map(lambda x:1 if x=='female' else 0)
>>> df1
         age  height  sex  weight
张三   39     181    1      85
李四   40     180    0      80
王五   38     178    1      78
赵六   59     170    0      66


方法三:使用map()方法+字典,原地替换。

>>> df1 = df[:]
>>> df1['sex'] = df1['sex'].map({'female':1, 'male':0})
>>> df1
         age  height  sex  weight
张三   39     181    1      85
李四   40     180    0      80
王五   38     178    1      78
赵六   59     170    0      66


方法四:使用loc类,原地替换。

>>> df1 = df[:]
>>> df1.loc[df['sex']=='female', 'sex'] = 1
>>> df1.loc[df['sex']=='male', 'sex'] = 0
>>> df1
         age  height sex  weight
张三   39     181   1      85
李四   40     180   0      80
王五   38     178   1      78
赵六   59     170   0      66



---------相关阅读------------

明天火车回老家帮忙掰玉米,顺便陪老人过个中秋节,老家没有网络,预计3天不更新,大家可以阅读下面的有关文章,或者进入公众号菜单“最新资源”==>“历史文章分类速查表”阅读更多文章。提前祝朋友们中秋节快乐!

使用Python内置集合对象和内置函数filter()过滤无效书评

Python数据分析扩展库pandas的DataFrame排序方法小结

Pandas创建DataFrame对象的几种常用方法

Python基于用户协同过滤算法的电影推荐代码demo

Python+pandas读取Excel文件并统计演员参演电影数量

Python统计共同参演电影最多的演员组合

Python读取Excel文件统计演员参演电影



----------喜大普奔----------

1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年7月第3次印刷)系列图书之后,董付国老师新书《 Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版,并于2017年9月进行了第2次印刷。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3


2、10月13日——15日,重庆,全国高校程序设计系列课程高级研究班,详见:全国高校程序设计系列课程高级研修班(Python)通知



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/5fP1NRk9EB
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3637
 
713 次点击