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