找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 11841|回复: 2

[求助] 求助如何用pandas快速遍历DataFrame

1

主题

2

帖子

2

积分

贫民

积分
2
nicemike 发表于 2017-3-1 11:11:15 | 显示全部楼层 |阅读模式
问题是这样的,我有一个数据框如下
我想将数据框中大于0的数赋值为1,小于等于0的赋值为2
我用for循环遍历数据框慢到要哭,有没有快速实现这个问题的办法
QQ图片20170301110816.png
回复

使用道具 举报

0

主题

20

帖子

20

积分

版主

Rank: 7Rank: 7Rank: 7

积分
20

活跃会员热心会员突出贡献荣誉管理

喏小喏 发表于 2017-3-1 11:25:58 | 显示全部楼层
In [129]: s = pd.Series(range(-3, 4))

In [130]: s
Out[130]:
0   -3
1   -2
2   -1
3    0
4    1
5    2
6    3
dtype: int64

In [131]: s[s > 0]
Out[131]:
4    1
5    2
6    3
dtype: int64

In [132]: s[(s < -1) | (s > 0.5)]
Out[132]:
0   -3
1   -2
4    1
5    2
6    3
dtype: int64

In [133]: s[~(s < 0)]
Out[133]:
3    0
4    1
5    2
6    3
dtype: int64

Reference : http://pandas.pydata.org/pandas-docs/stable/indexing.html
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
nicemike  楼主| 发表于 2017-3-1 11:34:36 | 显示全部楼层
谢谢楼上,知道怎么做了
用条件选出来后可以直接赋值
回复 支持 反对

使用道具 举报

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

本版积分规则

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