200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python用pandas读取excel_Python使用pandas读取Excel文件数据和预处理小案例

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

时间:2022-12-05 03:23:31

相关推荐

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。