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)代替条件判断

你可能感兴趣的:(Python,python,numpy,pandas,数据分析)