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

将熊猫数据框与关键重复项合并

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

将熊猫数据框与关键重复项合并

再快一点

%%cython# using cython in jupyter notebook# in another cell run `%load_ext Cython`from collections import defaultdictimport numpy as npdef cg(x):    cnt = defaultdict(lambda: 0)    for j in x.tolist():        cnt[j] += 1        yield cnt[j]def fastcount(x):    return [i for i in cg(x)]df1['cc'] = fastcount(df1.key.values)df2['cc'] = fastcount(df2.key.values)df1.merge(df2, how='outer').drop('cc', 1)

更快的答案; 不可扩展

def fastcount(x):    unq, inv = np.unique(x, return_inverse=1)    m = np.arange(len(unq))[:, None] == inv    return (m.cumsum(1) * m).sum(0)df1['cc'] = fastcount(df1.key.values)df2['cc'] = fastcount(df2.key.values)df1.merge(df2, how='outer').drop('cc', 1)

旧答案

df1['cc'] = df1.groupby('key').cumcount()df2['cc'] = df2.groupby('key').cumcount()df1.merge(df2, how='outer').drop('cc', 1)



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

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

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