首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用函数永远不会超时

应用函数永远不会超时
EN

Stack Overflow用户
提问于 2020-12-22 17:17:37
回答 1查看 16关注 0票数 0

我有一个包含bus_types的列,例如:“高科技非空调”,“沃尔沃-B9R(多轴-半轴)空调”等。我必须创建另一个列来说明它是"a/c“还是"non a/c”。我尝试了以下在列上使用apply函数的直接方法

代码语言:javascript
复制
df['ac'] = df['busType'].apply(lambda x: "non a/c" if "non a/c" in x.lower() else "a/c")

问题是,由于数据集有超过1000000+行的数据,apply函数的执行将永远耗费时间。有解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-22 18:00:03

这是一个应该更快的解决方案,因为不使用apply:

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame({'busType':["non A/c  zzzz", "non a/C  zzzz", "a/c  zz", "A/c  zz"]})
df["is_non_ac"] = df["busType"].str.lower().str.contains("non a/c")
df["ac"] = "a/c" 
df.loc[df["is_non_ac"], "ac"] = "non a/c" 
df.pop("is_non_ac")
df

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65406039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档