Python 遍历数据帧中单个列的值

Python 遍历数据帧中单个列的值,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我是蟒蛇和熊猫的初学者 我有一个5000行的数据帧,看起来像这样: INDEX COL1 COL2 COL3 0 10.0 12.0 15.0 1 14.0 16.0 153.8 2 18.0 20.0 16.3 3 22.0 24.0 101.7 我希望迭代COL3中的值并进行计算,以便: 对于数据框中的每一行,如果COL3中的值为,请尝试以下操作: df['New_Value']=df.COL3.apply(lambda x:

我是蟒蛇和熊猫的初学者

我有一个5000行的数据帧,看起来像这样:

INDEX  COL1  COL2  COL3
0      10.0  12.0  15.0
1      14.0  16.0  153.8
2      18.0  20.0  16.3
3      22.0  24.0  101.7
我希望迭代
COL3
中的值并进行计算,以便:

对于数据框中的每一行,如果COL3中的值为,请尝试以下操作:

df['New_Value']=df.COL3.apply(lambda x: 10*x if x<=100 else 5*x)

df['New_Value']=df.COL3.apply(λx:10*x,如果x使用
np.where

df['New_Value'] = np.where(df['COL3']<=100,df['COL3']*10,df['COL3']*5)
df['New_Value']=np.其中(df['COL3']一行


df.COL1.apply(lambda x:x*10如果x
x*10如果x
x*10如果xc您能确认“新值”和“新值”将是不同的列吗?强烈建议避免以矢量化方式进行操作的迭代…性能严重降低…我不确定,第二行不会超过第一行吗?我将使用
应用程序执行一行操作LY(lambda x:10×x)如果席认为你可以做到这一点是你颠倒了顺序,但是你仍然会在数组中不必要的循环,必须确认是否有一个新的列或2(Neue值和新值)或者这只是一个排版的方法,第二行会覆盖第一个。它是2个不同的列。也许这是一个来自OP的拼写错误,请再次阅读这个问题。我是唯一一个在中间看到“你”的人吗?你让我害怕:不需要使用
。在这里应用
。@PaulH我说你
可以
而不是你
必须
@PaulH加上答案的多样性将丰富以后研究的提要,仅仅因为你可以并不意味着你需要,所以我们是一致的。我会说,使用点访问器获取列通常是一种不好的做法,而且som这比不必要地在数据帧行中循环(通过
apply
显式或隐式)更需要避免。PaulH True,的确如此。我同意这一点。我成功地使用它使代码正常工作。谢谢!