【Pandas】学习总结190802

Pandas学习总结190802

已经用pandas处理过几组数据了,想借此机会,为了不要每次都现用现查(捂脸),稍微总结一下我最近常用的功能,算是初学者的一份笔记了。

  • read_csv
    • 这是我几乎每次都会用的,从CSV文件中读取。其中有的CSV文件没有表头,可以设置header=None
    • 除此之外,今天又遇到了一份xls的文件,对应的有read_excel。
    • 今天还涉及了一些与编码有关的问题,正常UTF-8编码的文件用Excel看是乱码,然后用Excel制作的CSV文件不能直接使用read_csv,之前以为要手动通过记事本之类的转一下码,但是不知为何转码后能够以UTF-8读入,但是是乱码。Excel的编码格式是ansi,因此只要加一句encoding='ansi',即可。
  • list(df)
    • 今天在别的博客上看到的,获取dataframe的header的很快捷的方法。返回的是一个python的list,每一列的表头。
  • loc
    • 这是一个访问DataFrame很常用的方法,同时可以修改内容。loc[]很类似于numpy的使用方法,但是之前遇到过的问题有两个。
      • 第一个是,loc使用的应该不是索引号,而是表头的标签,这种问题经常出现在header不是None的情况。
      • 第二个是,这里的分片,是[a, b],而不是numpy的[a, b)。
  • tolist()
    • 要想从pandas的DataFrame直接转换为python的list,对DataFrame使用此方法即可。
  • sort_values
    • 这里可以按照一定的规则排序。其中,axis=设置以那个轴的标签排序,axis=0表示按列的标签而不是行。by=[]表示按那些标签排序。如果要想使用多个标签排序,最好不要一个一个排,因为这样不仅占cpu时间,同时我估计这个函数内部使用的是不稳定的排序,所以还是会乱,直接把标签写到by=后面的list中即可。
    • 再有,默认是返回值而不是原地修改,如果需要直接修改,可以设置inplace=True。同时,还有ascending,设置False则降序,反之为升序。

猜你喜欢

转载自www.cnblogs.com/realmagicjim/p/11291493.html