pandas数据处理学习笔记(三)

导入模块

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

pandas数据处理学习笔记(三)

reindex = {
    0:'first',
    1:'second',
    2:'third',
    3:'forth',
    4:'fifth'
}
dframe.rename(reindex)

pandas数据处理学习笔记(三)

2.3.2重命名列

recolumn = {
    'color':'col',
    'value':'val'
}
dframe.rename(index=reindex,columns=recolumn)

pandas数据处理学习笔记(三)

2.3.3替换单个元素

dframe.rename(index={1:'first'},columns={'color':'col'})

pandas数据处理学习笔记(三)

rename()函数返回一个新的DataFrame对象,但原DataFrame对象仍保持不变。

若要使原DataFrame对象改变,可使用inplace选项

dframe.rename(columns={'color':'col'},inplace=True)
dframe

dframe返回

pandas数据处理学习笔记(三)


参考:

法比奥·内利. Python数据分析实战:第2版.北京:人民邮电出版社, 2019.11.

上一篇:python设置index


下一篇:pandas pickle不能保存DataFrame的name属性