1. 程式人生 > 其它 >動手學資料分析 Task1 學習筆記

動手學資料分析 Task1 學習筆記

學習筆記

思考1: pd.read_csv()和pd.read_table()有什麼不同

pd.read_csv() 直接讀取‘,’為分隔符的文字檔案,pd.read_table()需要設定sep。

思考2:瞭解一下'.tsv'和'.csv'的不同,如何載入這兩個資料集?

TSV 是Tab-separated values的縮寫,即製表符分隔值。 相對來說CSV,Comma-separated values(逗號分隔值)更常見一些。

TSV與CSV的區別: 1)從名稱上即可知道,TSV是用製表符(Tab,'\t')作為欄位值的分隔符;CSV是用半形逗號(',')作為欄位值的分隔符; 2)IANA規定的標準TSV格式,欄位值之中是不允許出現製表符的。
Python對TSV檔案的支援: Python的csv模組準確的講應該叫做dsv模組,因為它實際上是支援正規化的分隔符分隔值檔案(DSV,delimiter-separated values)的。 delimiter引數值預設為半形逗號,即預設將被處理檔案視為CSV。 當delimiter='\t'時,被處理檔案就是TSV。

TSV可以通過 pd.read_table('file.tsv',sep='\t')

思考3: 什麼是逐塊讀取?為什麼要逐塊讀取呢?

逐塊讀取就是通過 chunksize= 引數來設定讀取大小。
採用逐塊讀取檔案的主要目的是防止檔案過大,一次性載入到記憶體,會讓記憶體爆掉,或者記憶體一次性無法載入這麼多。

思考4: 大家可以chunker(資料塊)是什麼型別?用for迴圈打印出來出處具體的樣子是什麼?

設定 chunksize引數之後,讀取的資料塊為TextFileReader,可以遍歷列印,列印效果為根據chunksize大小分別列印。

思考5:還有其他的刪除多餘的列的方式嗎?

del test1['a']
test1.drop('a',axis=1,inplace=True)
如果想要完全的刪除你的資料結構,使用inplace=True,因為使用inplace就將原資料覆蓋了,所以這裡沒有用

思考6:對比iloc和loc的異同

loc是利用索引名和列名進行檢索
iloc是利用索引號和列號進行檢索

思考7:通過書本你能說出Pandas對DataFrame資料的其他排序方式嗎?

Pandas支援三種排序方式,按索引標籤排序,按值排序,按兩種方式混合排序。

  • 按索引排序
    Series.sort_index()與DataFrame.sort_index方法用於按索引層級對Pandas物件排序。
  • 按值排序
    Series.sort_values()方法用於按值對Series排序。DataFrame.sort_values()方法用於按行列的值對DataFrame排序。DataFrame.sort_values()的可選引數by用於指定按哪列排序,該引數的值可以是一列或多列資料。
  • 按索引和值排序
    通過引數by傳遞給DataFrame.sort_values()的字串可以引用列或索引層名。