首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化df.assign?

如何优化df.assign?
EN

Stack Overflow用户
提问于 2020-10-19 23:36:11
回答 1查看 24关注 0票数 0

我正在处理一个形状为(55025,12)的数据帧(data)上的python,并且我正在尝试分配一个新列,我的代码是:

代码语言:javascript
复制
data_cat=data.assign(
    type0 = lambda dataframe: dataframe['value'].map(lambda x: x>0),
    type1= lambda dataframe: dataframe['value'].map(lambda x: x>1,
    type2 = lambda dataframe: dataframe['value'].map(lambda x: x>2)
)

这需要永远的时间来运行。我如何优化这一点?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-10-20 00:00:43

您可以直接在原始数据帧上创建新列,以避免复制数据,如果这不会造成伤害的话。

代码语言:javascript
复制
data["type0"] = data["value"].gt(0)
data["type1"] = data["value"].gt(1)
...

除此之外,assign也没问题

代码语言:javascript
复制
data_cat = data.assign(
    type0=data["value"].gt(0),
    type1=data["value"].gt(1),
    ...
)

另请参阅pandas accessors,了解其他一些可能已经在pandas中实现的常见操作。

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

https://stackoverflow.com/questions/64430595

复制
相关文章

相似问题

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