是否有另一种方式(更有效的方式)来编写代码,以便它可以运行得更快?

Posted

技术标签:

【中文标题】是否有另一种方式(更有效的方式)来编写代码,以便它可以运行得更快?【英文标题】:Is there an alternate way (a more efficient way) to code this so that it can run faster? 【发布时间】:2018-08-17 09:57:54 【问题描述】:

是否有另一种方法(更有效)来编写代码——减少挂钟时间(即让它走得更快)?

from uszipcode import ZipcodeSearchEngine
search = ZipcodeSearchEngine()
order_line["STATE"] = pd.Series(order_line['CUSTOMER_ZIP_CODE']).apply(lambda x: search.by_zipcode(x).State)

【问题讨论】:

请解释您要达到的目标。还有预期的输出。 使用 iloc 或 loc 我有一组美国邮政编码,我正在尝试创建这些邮政编码所属的新州列(如 state..country..city)。 【参考方案1】:

如果有很多行相同的邮政编码并且search.by_zipcode()很慢,你可以使用lru_cache

from uszipcode import ZipcodeSearchEngine
from functools import lru_cache

search = ZipcodeSearchEngine()

@lru_cache()
def get_state(zipcode):
    return search.by_zipcode(x).State

order_line["STATE"] = pd.Series(order_line['CUSTOMER_ZIP_CODE']).apply(get_state)

【讨论】:

以上是关于是否有另一种方式(更有效的方式)来编写代码,以便它可以运行得更快?的主要内容,如果未能解决你的问题,请参考以下文章