为了账号安全,请及时绑定邮箱和手机立即绑定

如果条件匹配,如何添加值,python

如果条件匹配,如何添加值,python

慕村225694 2021-12-08 16:06:26
我想在每行中为“Score”列添加“1”,其中以下语句为真,import pandas as pdimport numpy as npdf = pd.read_csv(Path1 + 'Test.csv')df.replace(np.nan, 0, inplace=True)df[(df.Day7 >= 500)]样本输出
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

你可以试试下面的。


df['score']=np.where(df['Day7']>=500,1,"")

或者根据 OP 的评论(在此处添加@anky_91 的增强解决方案):


np.where((df['Day7']>=500)&(df['Day7']<1000),1,"")

当我们打印以下值时df将是输出。


    Cat          Day7    score

0   Advertisir   145    

1   Blogs        56 

2   Business     92 

3   Classfied    23 

4   Continuin    110    

5   Corporate    1974     1


查看完整回答
反对 回复 2021-12-08
?
四季花海

TA贡献1811条经验 获得超5个赞

你已经成功了一半。只需使用df.loc[mask, "Score"] = 1:


import numpy as np

import pandas as pd


df = pd.DataFrame({"Day7":np.random.rand(5)*1000,

                   "Score": np.random.rand(5)})

print(df)

df.loc[(df.Day7>=500), "Score"] = 1

print(df)


查看完整回答
反对 回复 2021-12-08
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

df = df.assign(Score=0)
df.Score = df.Day7 >= 500


查看完整回答
反对 回复 2021-12-08
  • 3 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信