1. 删除重复元素
通过duplicated()函数可以找出重复的行,操作如下:
frame.duplicated() //判断是否重复行
frame[frame.duplicated()] //删除重复行
frame.drop_duplicates() //删除重复行
示例如下:
>>> frame = pd.DataFrame({'color': ['white', 'white','black', 'black'], 'value':
[1,2,3,3]})
>>> frame.duplicated()
0 False
1 False
2 False
3 True
dtype: bool
>>> frame[frame.duplicated()]
color value
3 black 3
>>> frame.drop_duplicates()
color value
0 white 1
1 white 2
2 black 3
>>>
2. 用映射替换元素
ser.replace(np.nan, 0) //Series元素替换
newcolors = {‘red’: ‘b’, ‘black’: ‘d’} //key为旧元素,value为新元素
frame.replace(newcolors) //DataFrame通过映射替换元素
3. 用映射添加元素
可以通过dict定义一列新的信息,key为已存在列的值,value为新的列的值
>>> frame = pd.DataFrame({'color': ['red', 'black']})
>>> frame
color
0 red
1 black
>>> price = {'red': 1, 'black': 2}
>>> frame['price'] = frame['color'].map(price)
>>> frame
color price
0 red 1
1 black 2
这里通过frame[‘price’] = frame[‘color’].map(price),映射出一个新列,列名为price
同样还有其它方式如:
frame[‘d’] = frame[‘price’].map(lambda x: x*2) //lambda表达式,新列名为d,值为price列2倍
frame[‘d’] = frame[‘price’].map(double) //自定义函数double
代码如下:
>>> def double(x):
... return x*2
...
>>> frame['d'] = frame['price'].map(double)
>>> frame
color price d
0 red 1 2
1 black 2 4
>>>
4. 重命名轴索引
通过rename函数可以重命名索引(可更改部分索引)和列名:
frame.rename(index={1: ‘first’}, columns={‘item’: ‘object’}, inplace=True),相关参数如下:
index //更改索引,默认为更改索引
inplace //替换调用对象本身,否则只返回新的对象