替换重复项(pandas到csv或hdf5或sql)?

时间:2015-07-31 16:29:40

标签: pandas sqlite hdfs

我正在使用pandas来处理信息。当前的工作流程是从hdf5文件读取最近30天的数据,然后将最新数据添加到其中并执行一些分析。

然后我需要将此数据追加回原始的hdf5文件(带有一个列,指示相同的Customer_ID是否多次出现)。唯一的问题是有重复。我唯一的解决方案是将整个文件读入内存,删除重复项,然后重新编写文件(完全替换它)。有没有办法避免附加重复数据?就像我可以在熊猫中使用的'插入和替换'命令一样?

querydate = dt.date.today() - Timedelta(30, unit='d')
df = pd.read_hdf(loc+hdfname, 'Raw', where = [('Report_Date > querydate')])
df2 = pd.read_csv(loc+yesterdayfile.csv)
combine = [df,df2]
df3 = pd.concat(combine)

我需要查看先前是否存在最新数据(来自昨天)(在30天滚动窗口内)。下面你可以看到我将最新数据附加到原始文件,然后我将该文件读入内存,删除重复项,然后再次写入(覆盖现有文件)

hdf = HDFStore(loc+hdfname)
hdf.put('Raw', df3, format= 'table', complib= 'blosc', complevel=5, data_columns = True, append = True)

df = pd.read_hdf(loc+hdfname, 'Raw')
df.drop_duplicates(subset = ['Emp_ID', 'Interaction_Time', 'Customer_ID'], take_last = True, inplace = True)

hdf = HDFStore(loc+hdfname)
hdf.put('Raw', df, format= 'table', complib= 'blosc', complevel=5, data_columns = True, append = False)

0 个答案:

没有答案