为了账号安全,请及时绑定邮箱和手机立即绑定

拆分大量数据并为所有数据块循环相同的代码

拆分大量数据并为所有数据块循环相同的代码

慕容708150 2021-09-11 20:45:47
我的问题有点棘手。我已经将我的庞大数据文件分解成块,并多次对每个块应用模糊模糊的代码。之后,我将结果整理到一个文件中。我想知道是否可以应用某种循环来重用代码而不是为每个变量编写它。下面是示例。df = pd.read_csv('dec 10.csv')df1 = df.iloc[0:20000]df2 = df.iloc[20000:40000]df3 = df.iloc[40000:60000]match1 = df1['Customer Name'].map(lambda x: difflib.get_close_matches(x, df1['Customer Name'].values, n=2, cutoff=0.8)).apply(pd.Series).dropna(axis=0)match2 = df2['Customer Name'].map(lambda x: difflib.get_close_matches(x, df2['Customer Name'].values, n=2, cutoff=0.8)).apply(pd.Series).dropna(axis=0)match3 = df3['Customer Name'].map(lambda x: difflib.get_close_matches(x, df3['Customer Name'].values, n=2, cutoff=0.8)).apply(pd.Series).dropna(axis=0)a = match1.append(match2, ignore_index =True)b = a.append(match3, ignore_index =True)我正在寻找一种优化的方法来编写一次匹配代码,而不是为每个数据块编写它,然后稍后对其进行整理。
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以遍历数据框列表,以便在每次迭代时您只需引用df并避免重复代码:


match = pd.Dataframe()

for df in [df1,df2,df3]:

    match_ = df['Customer Name'].map(lambda x: difflib

                 .get_close_matches(x, df['Customer Name'].values, n=2, cutoff=0.8))

                 .apply(pd.Series).dropna(axis=0)

    match = match.append(match_, ignore_index =True)


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号