[問題] pandas修正數據問題已刪文
最近在學python 現在想利用pandas進行數據清理異常值
想說讓兩個row之間的值不要差距太大如果差太多就跟前一個相同
df內為
a b
0 1 1
1 2 2
2 3 4
3 4 9
4 5 8
5 6 5
6 7 7
7 8 8
8 9 9
9 10 10
主要的程式碼如下
data = df['b']
def new(data):
for i in range(0, 10):
row = df['b'][i]
row1 = df['b'][i + 1]
if row1 - row > 2:
return row
else:
return row1
df['new'] = df['b'].map(new)
實際輸出結果為
a b new 本來認為會有的結果
0 1 1 2 1
1 2 2 2 2
2 3 4 2 4
3 4 9 2 4
4 5 8 2 4
5 6 5 2 5
6 7 7 2 7
7 8 8 2 8
8 9 9 2 9
9 10 10 2 10
想請問各位版友是我邏輯上還是函式使用上有哪邊誤解了嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.160.55
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1535834557.A.80B.html
推
09/02 08:18,
6年前
, 1F
09/02 08:18, 1F
→
09/02 08:18,
6年前
, 2F
09/02 08:18, 2F
→
09/02 08:19,
6年前
, 3F
09/02 08:19, 3F
→
09/02 08:19,
6年前
, 4F
09/02 08:19, 4F
→
09/02 08:20,
6年前
, 5F
09/02 08:20, 5F
推
09/02 08:26,
6年前
, 6F
09/02 08:26, 6F
→
09/02 08:27,
6年前
, 7F
09/02 08:27, 7F
推
09/03 14:42,
6年前
, 8F
09/03 14:42, 8F
→
09/03 14:43,
6年前
, 9F
09/03 14:43, 9F
→
09/03 14:43,
6年前
, 10F
09/03 14:43, 10F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章