Numpy和Pandas基礎操作的一些注意事項

Pandas操作的一些注意事項

  • 從DataFrame中選取的列是數據的視圖而不是拷貝,因此對該列的操作會映射到DataFrame中。如果需要複製,需要顯式的調用copy()方法。
  • 如果嵌套字典被賦值給DataFrame,pandas會將鍵作爲列索引,內部字典的鍵作爲行索引。如果行索引未指定,則爲0,1,2。
  • drop會默認按照行標籤進行刪除(即,axis=0),inplace=True時會清除被刪除的數據。
  • DataFrame[:2]選擇的是列,注意與下一條的不同;在廣播機制中同樣按照列進行匹配,按行進行廣播,需要修改則令axis=0;各種函數時也是在列上進行操作。
  • loc[[index標籤],[columns標籤]]和iloc[[行整數標籤],[列整數標籤]],爲了保證語義一致性,在有軸索引爲整數索引時,請避免使用loc。

Numpy操作的一些注意事項

  • 注意!Numpy底層由C語言構建,而且存儲在連續的內存塊上,所以數據佔用內存小,操作速度快。
  • 在用astype()方法對string數據進行轉換時務必注意,numpy不會給出數據修正的提示。
  • numpy中的切片也是源數據的視圖而不是拷貝。
  • 標量的賦值同樣會觸發廣播機制。
  • 多維數據的切片默認按行進行切片,類比pandas中的iloc
  • 當使用bool選擇數據時,例如array[names==‘Bob’],其中names爲數組,如果發生錯誤,numpy不會報錯,所以使用時務必保證bool數組與數組長度一致。
  • and和or對Bool數組無用,請使用&或者|
  • 神奇索引arr[[1,2],[3,4]]類比iloc,返回的是數據的複製對象,arr[1,3]索引返回的是數據的視圖。
  • 善用np.where(cond,x,y)代替條件判斷
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章