我有以下代码读取csv文件(进入dataset
DataFrame)并将其转换为列表(进入transactions
列表)以由apriori算法处理。
import pandas as pd
dataset = pd.read_csv('datasetFile.csv')
transactions = []
num_rows = 8000
num_cols = 20
for i in range(0, num_rows):
transactions.append([str(dataset.values[i,j]) for j in range(0, num_cols)])
.csv文件的格式为8000行,连续最多包含20个产品:
bread, butter
bread, milk, eggs, fruit
milk
eggs, milk, bread
上面的python代码适用于这个小数据集。但是,我当前的数据集有大约300k行和300列。如何改进这段python代码以将大型DataFrame转换为列表?
答案 0 :(得分:3)
我认为需要过滤器值,转换为numpy数组然后列出:
transactions = dataset.iloc[:num_rows, :num_cols].astype(str).values.tolist()