今天介绍几个常用的Pandas操作。
1 | import numpy as np |
1.DataFrame to markdown/latex
dataframe可以转换为许多常用格式,如csv,excel,sql,json,html,latex等等,这里以markdown和latex为例。
1 | print(df.to_markdown()) |
or
1 | df.to_markdown('table.md') |
也可以自定义输出latex格式,如表格宽度。
1 | df.to_latex('tb.tex',column_format='lp{1.8cm}p{1.8cm}p{1.8cm}p{1.8cm}p{1.8cm}p{1.8cm}') |
除此以外,dataframe还可以保存为图片。
1 | import dataframe_image as dfi |
2.DataFrame常用属性查询
1 | df.values #值 |
1 | df.index #索引号 |
1 | df.columns #列标签 |
1 | df.dtypes #数据类型 |
1 | df.shape #形状(几行几列) |
3.DataFrame常用基本函数
1 | df.head(5) #前5行 |
1 | df.tail(5) #后5行 |
1 | df.info() #信息概况 |
1 | df.describe() #主要统计量(count、mean、std、max、min、quartile) |
4.DataFrame唯一值函数
1 | df['psavert'].unique() #唯一值组成的数组 |
1 | df['psavert'].nunique() #唯一值个数 |
1 | df['psavert'].value_counts() #唯一值及其频数 |
1 | df.describe() #主要统计量(count、mean、std、max、min、quartile) |
1 | df['psavert'].duplicated() #重复行的布尔值 |
1 | df[df['psavert'].duplicated()] #单列去重(删除重复行) |
1 | df.drop_duplicates(subset=['psavert', 'pop'], keep='first') #多列去重(保留first唯一值) |
5.DataFrame替换函数
1 | df['psavert'].replace(12.5, 'A', inplace = True) #替换某列的单个值 |
1 | df['psavert'].replace({12.5:'A', 11.7:'B'}, inplace = True) #替换某列的多个值 |
1 | df['date'].replace({r'2\d+': 'The 21st century'}, regex=True, inplace = True) #正则替换 |
1 | df['psavert'].mask(df['psavert']>12.0 ,'A', inplace = True) #条件符合,进行替换 |
1 | df['psavert'].where(df['psavert']<12.0 ,'A', inplace = True) #条件不符合,进行替换 |
5.DataFrame排序函数
1 | df.sort_values('psavert',ascending = False) #单列降序排序 |
1 | df.sort_values(['psavert','uempmed'],ascending=[True,False]) #前者升序情况下,后降序 |
今天先写到这,下一期接着写DataFrame的apply方法。