PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
[问题] pandas修正数据问题
楼主:
bigbigcc
(大基基)
2018-09-02 04:42:35
最近在学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
想请问各位版友是我逻辑上还是函式使用上有哪边误解了吗?
作者:
fischcheng
(布阿送)
2018-09-02 08:18:00
可以去看看apply, map, applymap的差别
https://tinyurl.com/yahoj26t
要是我的话我会新增一个column算出shift b跟原p的差别然后用条件去建立新的column*原b我记得applymap对那个series是改每个元素,它并不知道相邻的其他元素的值。
作者:
iphone2003
(307)
2018-09-03 14:42:00
只有我看不太懂想要的结果到底是怎么出来的吗...不过这种会跟上下列有关的 可是试试看rolling*可以
继续阅读
[问题] 取得xfplay影片的下载网址
ponwar87123
[问题] 抓取限定区间日期的PTT文章
EasonWW
[问题] 没办法装套件
ntpuisbest
[心得] 用强化学习设计21点AI机器人
b05703
Re: [闲聊] 抓取资料后如何读取特定档案
acer1832a
[闲聊] 抓取资料后如何读取特定档案
talon0222
[问题] 不同地点socket连接问题
ponwar87123
[问题] plotly 画barplot字体大小请教
jasonfghx
[问题] leetcode 23
sean72
[问题] 将很长的图片分成多页的pdf图档
chen1i6c04
Links
booklink
Contact Us: admin [ a t ] ucptt.com