我尝试使用python脚本从一个巨大的数据库中获取数据。现在我对使用事务ID通过购物篮提取数据很感兴趣,但是我得到了非常奇怪的结果,比如平均购物袋大小为9000个元素,商店中每个购物篮上都有烈性酒精。在
我有一个想法,也许pandas在读取数据时出于某种原因使用了错误的列,因为如果按用户标识而不是事务标识来排序,那么这个篮子的大小就有意义了
这可能吗?读csv的时候会出什么问题吗?在
这是按事务处理排序的代码部分,它在较小的数据集上运行得很好,但在处理大量数据时却变得疯狂。但也许我有一个我看不见的愚蠢的错误,我真的很感谢有人指出。在
dt = pd.read_csv("../data/DataMining_with_cl_nr.txt", sep=";", engine='python',usecols=['TSEKK_ID', 'BARCODE','D_INVENTSITE_ID'], chunksize=100000)
df = pd.concat(dt)
def rec_dd():
return defaultdict(rec_dd)
lengths = []
shopdic = rec_dd()
for i in range(1,48):
subset = df.loc[df['D_INVENTSITE_ID'] == i]
if not subset.empty:
transactions = list(set(subset['TSEKK_ID']))
baskets = []
for n in range(len(transactions)):
check = transactions[n]
basket = list(subset.loc[subset['TSEKK_ID'] == check]['BARCODE'])
baskets.append(basket)
length = [len(x) for x in baskets]
lengths.append(length)
shopdic[i] = baskets
else:
shopdic[i] = []
目前没有回答
相关问题 更多 >
编程相关推荐