先要有一个很简单的被命名为 data 的表:
第三列是一个名曰周杰伦的人历年来每个月的月薪,其中2016年月薪10万,纵观他历年来的月薪基本不超过3万(显然他不是我的偶像胖伦),因此对于这个人来说月薪10万是有些异常的。
有些人可能会说,这不简单?直接:【 data[monthly_pay] [data[monthly_pay] >= 10] = null 】就好了啊,可是你忘记了,周杰伦挣不了10万,可是库克完全没压力啊。你这么一句python运行下去,表里关于库克的月薪数据都要被删掉了。
那么,怎么识别到这个10万的数据,进而修改它呢?
我们采用每年和去年的月薪相比的方式,即:若今年的月薪超过去年的 2 倍,且去年的月薪在 5 万以下的,我们将修改今年的月薪为去年月薪的 2 倍值。
首先需要用 iterrows() 遍历这个表,找出异常值,然后修改就好了,下面是 python 代码:
# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
from pandas import DataFrame,Series
datafile = u'D:\\pythondata\\learn\\iterrows.xlsx'
data = pd.read_ex