大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关python如何使用apply或not apply,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
敦化网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
apply or not apply
如果我们想创建一个新的列,并将其他列作为输入,那么apply函数有时非常有用。
def rule(x, y): if x == ‘high' and y > 10: return 1 else: return 0 df = pd.DataFrame({ 'c1':[ 'high' ,'high', 'low', 'low'], 'c2': [0, 23, 17, 4]}) df['new'] = df.apply(lambda x: rule(x['c1'], x['c2']), axis = 1) df.head()
在上面的代码中,我们定义了一个带有两个输入变量的函数,并使用apply函数将其应用于列'c1'和'c2'。
但“apply函数”的问题是它有时太慢了。 如果你想计算两列“c1”和“c2”的最大值,你可以:
df[‘maximum'] = df.apply(lambda x: max(x[‘c1'], x[‘c2']), axis = 1)
但你会发现它比这个命令慢得多:
df[‘maximum'] = df[[‘c1','c2']].max(axis =1)
注意:如果可以使用其他内置函数完成相同的工作(它们通常更快),请不要使用apply。例如,如果要将列'c'舍入为整数,请执行round(df ['c'],0)而非使用apply函数:
df.apply(lambda x: round(x['c'], 0), axis = 1)
关于“python如何使用apply或not apply”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。