基础操作
[]运算符相关
df[列名] -> Series
取出列名指定的列。
df[[列名1,列名2]] -> DataFrame
取出列名指定的多个列。
df[布尔Series] -> DataFrame
取出布尔表达式为真的行。
对行列操作
rename
将改名需求以字典形式传入columns参数,inplace参数默认为False,即传出一个新表。
reset_index
将原索引提取出来成为一列(或多列),使用新序号索引。
melt
将给定矩阵除参数id_vars所指定的列以外的所有列或参数value_vars所指定的列转换为行,使用参数var_name,value_name给出新列名。
stack
将原先的列索引转制为最内层行索引。
表的合并
pd.concat/df.append
将两表依axis参数指定轴连接在一起,要求两表除axis轴以外的形状一致。
pd.merge
将左表和右表以默认或按指定主键合并,并根据how参数编制表。
how参数的值 | 合并方式 |
---|---|
cross | 返回一个列长为左右表列长之和、行数为左右表行数之积的新表 |
数据清洗
值的筛选
drop_duplicates
将指定列发生重复的元素删除,可以指定inplace。
dropna(inplace=False)
将包含空缺值的行丢弃。
值的统计
group/df/series.unique/nunique
返回给定列中不重复值的列表/不重复值的个数
value_counts
返回给定列中每个元素及其出现次数。
值的判断
isna/isnull
判断值是否空缺。
df.isin(list)
对df中给定列的行返回一个表示该行该列的值是否在list中的布尔值
值的更改
replace(old_value, new_value)/([old_value1, old_value2], new_value)/({old_value: new_value})
将所有旧值替换为新值。
fillna
将所有空缺值用传入参数代替
字符串相关操作
contains
查询是否有任意子串为给定字符串,返回一Series布尔值。
match
检查给定列中元素是否符合给定正则表达式,返回一Series布尔值。
其他常用操作
apply
传入一个函数为参数,沿指定axis遍历表,返回一个与axis同大小的Series。
sort_values
使用参数by来指定排序的依据。