python - 迭代多个熊猫数据帧很慢
问题描述
我正在尝试查找 Dataframe1 中所有行的相似词的数量,其中每行包含 Dataframe 2 中的单词。
基于相似性,我想创建一个新的数据框,其中
列 = N 行 dataframe2
值 = 相似性。
我当前的代码正在运行,但运行速度非常慢。不知道怎么优化。。。
df = pd.DataFrame([])
for x in range(10000):
save = {}
terms_1 = data['text_tokenized'].iloc[x]
save['code'] = data['code'].iloc[x]
for y in range(3000):
terms_2 = data2['terms'].iloc[y]
similar_n = len(list(terms_2.intersection(terms_1)))
save[data2['code'].iloc[y]] = similar_n
df = df.append(pd.DataFrame([save]))
更新:新代码(仍然运行缓慢)
def get_sim(x, terms):
similar_n = len(list(x.intersection(terms)))
return similar_n
for index in icd10_terms.itertuples():
code,terms = index[1],index[2]
data[code] = data['text_tokenized'].apply(get_sim, args=(terms,))
解决方案
推荐阅读
- leaflet - 如何使用 Leaflet.Draw GeometryUtil 计算多边形的面积
- windows - 通过 Ansible 请求 Windows 会话 ID
- xpath - 如何从 xpath 中排除子节点?
- python - Flask 将变量从应用程序主文件传递到蓝图
- perl - 使用 LWP::UserAgent 和 HTTP::Request 通过代理检查安全连接
- c# - 如何仅选择第一个可用的复选框硒
- database - Dynamo 数据库 GSI
- php - 无法显示存储过程的数据
- sql - 从表中仅获取最新的修订记录
- ios - 我的 PWA 在 Safari 上缺少“Web Push”的解决方法