首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试着把我的头绕在熊猫身上(没有循环)

试着把我的头绕在熊猫身上(没有循环)
EN

Stack Overflow用户
提问于 2015-03-24 21:24:00
回答 1查看 221关注 0票数 0

我试图打破这种循环心态:

代码语言:javascript
复制
df = pd.DataFrame(data = np.arange(1,11), columns=['x'])

这给了我一列10项,从1到10。我想要创建一个新的列y,如果x小于5时,y是0,否则等于x。以下是我所做的:

代码语言:javascript
复制
def f(x):
    if x < 5:
        return 0
    else:
        return x

col = df['x']
df['y'] = col.apply(f)

有更好的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 21:27:06

使用where有条件地赋值为true,如果为false则返回不同的值:

代码语言:javascript
复制
In [57]:

df['y'] = df['x'].where(df['x']>5, 0)
df
Out[57]:
    x   y
0   1   0
1   2   0
2   3   0
3   4   0
4   5   0
5   6   6
6   7   7
7   8   8
8   9   9
9  10  10
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29243167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档