【问题标题】: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)。

标签: python pandas bigdata


【解决方案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)

【讨论】:

    猜你喜欢
    • 2021-05-25
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多