首页 > 解决方案 > 在 mrJob 中使用 Pandas 数据框

问题描述

我有一个 python 代码,我需要使用 mrjob 来使我的 python 脚本更快。

如何制作以下脚本以使用 mrJob?

下面的脚本适用于小文件,但是当我运行大文件时,它需要很长时间。所以我打算使用mrJob,它是一个mapReducer python 包。所以,问题是:我不知道如何为这个脚本使用 mrJob,请指教?

import os
import pandas as pd
import pyffx
import string
import sys

column='first_name'
filename="python_test.csv"
encrypted_value_list = []
alpha=string.printable
key=b'sec-key'
seperator_in='|'
seperator_out='|'
outputfile='encypted.csv'
compression_in=None
compression_out=None

df = pd.read_csv(filename,compression=compression_in, sep=seperator, low_memory=False, encoding='utf-8-sig')
df_null = df[df[column].isnull()]
df_notnull = df[df[column].notnull()].copy()


for index,row in df_notnull.iterrows():
   e = pyffx.String(key, alphabet=alpha, length=len(row[column]))
   encrypted_value_list.append(e.encrypt(row[column]))

df_notnull[column]=encrypted_value_list
df_merged = pd.concat([df_notnull, df_null], axis=0, ignore_index=True, sort=False)
df_merged

标签: pythonpandasmrjob

解决方案


推荐阅读