前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python使用pandas读取Excel文件数据和预处理小案例

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

作者头像
Python小屋屋主
发布2018-04-16 16:46:58
4.2K0
发布2018-04-16 16:46:58
举报
文章被收录于专栏:Python小屋Python小屋

假设有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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档