鱼C论坛

 找回密码
 立即注册
查看: 1241|回复: 6

pandas中进行数据的提取操作

[复制链接]
发表于 2019-3-26 15:41:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原数据表中有n列,我只提取其中几列、同时从提取的这几列中,各自提取相应的百分位数(主要是为了去除每列中的异常值)。
我的初步想法是将这些数据分别提取出来,装入字典中(每列的列名作为键名)。。然后查看每个键值的标准差。。可是实际过程发现无法执行下去。。想不通问题出在哪里。。
代码如下:
  1. dict1 = {}
  2. for i in data1.columns[3:]:  #提取第4列之后的数据
  3.     if data1[i]<data1[i].quantile(0.99):  #提取第99百分位数.
  4.         dict1[i] =data1[i]  
复制代码


会有如下报错:
2.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-26 16:13:21 | 显示全部楼层
没有原始表啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-26 17:12:06 | 显示全部楼层

你要什么样的原始表。。
我的表里数据很多。。不好上传。。
可以随便做个数据表,不就可以了么?
  1. a = np.random.randn(3)
  2. b = np.random.randn(3)
  3. c = np.random.randn(3)
  4. d = np.random.randn(3)
  5. e = pd.DataFrame([a,b,c,d],columns=['float1','float2','float3'])
  6. e
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-26 17:55:07 | 显示全部楼层
1.jpg

我自己试了下,把单列数据提取出来处理,就不会报错。。但是放在DataFrame中遍历,就有问题。。
求高手解释下。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 19:01:17 | 显示全部楼层
本帖最后由 在东边 于 2019-3-27 16:00 编辑
  1. dict1 = {}
  2. for i in data1.columns[3:]:  #提取第4列之后的数据
  3.     a = data1[i].quantile(0.99)
  4.     dict1[i] = data1[i][data1[i] < a]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-27 06:21:34 | 显示全部楼层

1.jpg

没看懂,这个红框内的意思? data1[i][data1[i]<a]?  为什么data1[i]后面再跟个方括号?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-27 16:11:30 | 显示全部楼层
老笨啊 发表于 2019-3-27 06:21
没看懂,这个红框内的意思? data1[data1

11.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-14 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表