栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何基于熊猫中其他列的值计算新列-python

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何基于熊猫中其他列的值计算新列-python

df = pd.Dataframe({'a': numpy.random.choice(['l1', 'l2'], 1000000),        'b': numpy.random.choice(['1', '2'], 1000000)})

仅假定两个不同值的快速解决方案:

%timeit df['c'] = ((df.a == 'l1') == (df.b == '1')).astype(int)

10个循环,最佳3:每个循环178毫秒

@Viktor Kerkes:

%timeit df['c'] = (df.a.str[-1] == df.b).astype(int)

1个循环,最佳3:每个循环412毫秒

@ user1470788:

%timeit df['c'] = (((df['a'] == 'l1')&(df['b']=='1'))|((df['a'] == 'l2')&(df['b']=='2'))).astype(int)

1个循环,最佳3:每个循环363毫秒

@herrfz

%timeit df['c'] = (df.a.apply(lambda x: x[1:])==df.b).astype(int)

1个循环,最好为3:每个循环387毫秒



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648279.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号