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
總結
以上是生活随笔為你收集整理的python用pandas读取excel_Python使用pandas读取Excel文件数据和预处理小案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python重定向_在Python中使用
- 下一篇: python打开csv文件乱码_pyth