导入模块
import pandas as pd
import numpy as np
1.删除重复元素
创建一个包含重复元素的DataFrame对象
#创建一个包含重复元素的DataFrame对象
dframe = pd.DataFrame({'color':['w','w','r','r','w'],
'value':[2,1,3,3,2]})
dframe
'''返回
color value
0 w 2
1 w 1
2 r 3
3 r 3
4 w 2
'''
用DataFrame对象的duplicated()函数来检测重复的行
#用DataFrame对象的duplicated()函数来检测重复的行
dframe.duplicated()
'''返回
0 False
1 False
2 False
3 True
4 True
'''
返回重复的行
#返回重复的行
dframe[dframe.duplicated()]
'''返回
color value
3 r 3
4 w 2
'''
用drop_duplicates()函数删除重复行
#drop_duplicates()函数删除重复行
dframe.drop_duplicates()
'''返回
color value
0 w 2
1 w 1
2 r 3
'''
2.映射
2.1替换元素replace()
dframe = pd.DataFrame({'color':['w','w','r','r','w'],
'value':[2,1,3,3,2]})
dframe
'''
color value
0 w 2
1 w 1
2 r 3
3 r 3
4 w 2
'''
newcolors = {
'w':'white',
'r':'red'
}
dframe.replace(newcolors)
'''
color value
0 white 2
1 white 1
2 red 3
3 red 3
4 white 2
'''
用replace()函数把NaN换成0值
ser = pd.Series([1,3,np.nan,9,np.nan])
ser.replace(np.nan,0)
'''返回
0 1.0
1 3.0
2 0.0
3 9.0
4 0.0
'''
2.2添加元素
map()函数
dframe = pd.DataFrame({'color':['w','b','r','y','g'],
'value':[2,1,3,3,2]})
dframe
'''返回
color value
0 w 2
1 b 1
2 r 3
3 y 3
4 g 2
'''
ani = {
'w':'cat',
'b':'dog',
'r':'rabbit',
'y':'cow',
'k':'kkk',
'g':'duck'
}
dframe['ani'] = dframe['color'].map(ani)
dframe
'''返回
color value ani
0 w 2 cat
1 b 1 dog
2 r 3 rabbit
3 y 3 cow
4 g 2 duck
'''
2.3替换索引
rename()函数
2.3.1重命名索引
dframe = pd.DataFrame({'color':['w','b','r','y','g'],
'value':[2,1,3,3,2]})
dframe
reindex = {
0:'first',
1:'second',
2:'third',
3:'forth',
4:'fifth'
}
dframe.rename(reindex)
2.3.2重命名列
recolumn = {
'color':'col',
'value':'val'
}
dframe.rename(index=reindex,columns=recolumn)
2.3.3替换单个元素
dframe.rename(index={1:'first'},columns={'color':'col'})
rename()函数返回一个新的DataFrame对象,但原DataFrame对象仍保持不变。
若要使原DataFrame对象改变,可使用inplace选项
dframe.rename(columns={'color':'col'},inplace=True)
dframe
dframe返回
参考:
法比奥·内利. Python数据分析实战:第2版.北京:人民邮电出版社, 2019.11.