這是 利用Excel學習Python 系列的第8篇文章python
想用一個完整的案例講解Python數據分析的整個流程和基礎知識,實際上以一個數據集爲例,數據集是天池上的一個短租數據集,後臺回覆:短租數據集,便可得到。windows
先來想一下數據分析的流程,第一步獲取數據,所以本節內容就是獲取數據以及對數據的基本操做。ide
要導入一個.xlsx後綴的Excel文件,可使用pd.read_excel(路徑)方法學習
# 導入.xlsx文件
df_review = pd.read_excel(r"D:\我的\data\reviews.xlsx")
df_review
結果:
編碼
df_review數據包含了兩個字段,listing_id和datespa
讀入數據時必不可少的參數就是路徑,不一樣的操做系統下文件路徑的寫法也不一樣,一般windows操做系統下關於路徑有兩種寫法:操作系統
反斜槓「 \ 」:右鍵點擊這個文件,選擇屬性,能夠看到它所在的位置,默認是使用 \ 來表示,因爲反斜槓「\」在Python中被定義爲轉義符號,所以在寫的時候就要在路徑的最前方加一個轉義符 r,r"D:\我的\data\reviews.xlsx"
3d
斜槓「 / 」:不須要加r,所有用 / 來寫:"D:/我的/data/reviews.xlsx"
兩種方式看我的習慣吧。excel
對於.xlsx文件來講,可能會存在多個sheet表,所以也能夠設置sheet_name參數指定導入的sheet表,能夠傳入sheet表的名字,也能夠按照從0遞增的順序來指定,不指定sheet表則默認第一個sheet.code
# 指定Sheet表
df_review = pd.read_excel(r"D:\我的\data\reviews.xlsx",sheet_name = 0) # 指定名字或順序
df_review
導入.csv格式的文件使用pd.read_csv(路徑)的方法
# 導入csv文件
df_list = pd.read_csv(r"D:\我的\data\listings.csv")
df_list
結果:
df_list數據主要包括:房東ID、房東姓名、經緯度、房間類型、價格、最小可租天數、評論數量、最後一次評論時間、每個月評論佔比、可出租房屋、每一年可出租時長等字段
對於.csv文件有個重要的知識點,就是編碼格式,尤爲是在導入文件的時候,須要瞭解文件的編碼格式,以避免出現亂碼,那麼如何知道文件是什麼類型的編碼呢?用notepad++軟件打開,右下角會顯示該文件的編碼格式,如剛剛導入的listings.csv文件,是utf-8編碼,在書寫編碼時,大小寫通用,且utf-8也能夠寫成utf8.
能夠用encoding參數來設置編碼格式,Python默認的編碼格式是utf-8。
對於文件路徑中由於出現中文而致使的亂碼問題,能夠加入參數engine來避免。
# 避免出現亂碼
df_list = pd.read_csv(r"D:\我的\data\listings.csv",engine = "python")
df_list
結果:
image.png
不指定行索引的話,從0開始遞增的一列做爲行索引,也能夠指定id一列爲行索引,傳入參數index_col
# 指定行索引
df_list = pd.read_csv(r"D:\我的\data\listings.csv",index_col = "id")
df_list.head()
結果:能夠看到,id列成了行索引列。
默認第一行是列索引,也能夠指定,使用header參數,header = 0,表示指定第一行爲列索引。
# 指定列索引
df_list = pd.read_csv(r"D:\我的\data\listings.csv",header = 0)
df_list.head()
結果:
有時候咱們但願只導入指定的列便可,那麼就傳入usecols參數
# 指定導入一、4列
df_list = pd.read_csv(r"D:\我的\data\listings.csv",usecols = [0,3])
df_list.head()
結果:
導入數據後,須要對數據進行一個大概的瞭解,好比數據集有幾行幾列,每一個字段的數據類型是什麼,有無空值等。
沒必要徹底跑出數據,只需看下前幾行,用head方法,獲得的是前5行數據
# 預覽數據
df_list = pd.read_csv(r"D:\我的\data\listings.csv")
df_list.head()
結果:
head()裏也可傳入數字,如預覽前10行數據
# 預覽數據
df_list = pd.read_csv(r"D:\我的\data\listings.csv")
df_list.head(10)
數據集有幾行幾列,用shape
# 查看數據集維度
df_list.shape
結果:能夠看到df_list數據集有28452行,16列
使用dtypes能夠查看數據集全部字段的數據類型
# 數據類型
df_list.dtypes
結果:
也能夠單獨查看某一個字段的數據類型
# 單獨查看某個字段的數據類型
df_list["host_id"].dtypes
結果:
寫在後面