整理 pandas 常用操作
整理记录工作学习中遇到的所有 pandas 操作
设置输出宽度
http://pandas.pydata.org/pandas-docs/stable/options.html
设置成 None
后,在打印 dataframe 时,所有的列名将不会再换行,看起来会比较清晰、舒服
更改列名
http://stackoverflow.com/questions/11346283/renaming-columns-in-pandas
dataframe 长度
|
|
所有列的数据类型
|
|
merge
http://pandas.pydata.org/pandas-docs/stable/merging.html

update
df
和 df2
的 index
必须要保证数据类型一样,特别要注意 int
和 string
;因为两者人眼并不能看出来,但是就因为数据类型不一样就会导致 update 总是没有效果
append
|
|
读取 csv 文件
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
保存为 csv 文件
|
|
如果 csv 文件中有中文(无论是表头还是内容),可以将 encoding
设置为 encoding="gbk"
groupby 之后求去重个数
|
|
检测是否为空
|
|
填充 NA/NaN
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html
将所有 NaN 替换为 0
sort 排序
http://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.DataFrame.sort.html
默认升序,下列示例是以列 A 和 B 进行排序,其中 A 列升序,B 列降序
去重
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html
删除重复行,默认保留第一个
新添一列
新列与其它列没有关系
|
|
新列是通过其它列通过计算得出
比如将时间戳转为日期格式,或者将 ip 转为地址
又比如对于成绩表来说,我需要统计总分
更改列名顺序
假如 df 列名顺序为 ['A', 'B', 'C', 'D']
,改成 ['D', 'C', 'B', 'A']
:
只取其中部分列
isin
|
|
逻辑运算
|
|
set_index
|
|
聚合操作
|
|
遍历
|
|
astype
修改列类型