将数据帧高效转换为大型数据集中的列表

时间:2018-05-17 05:26:14

标签: python pandas dataframe

我有以下代码读取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转换为列表?

1 个答案:

答案 0 :(得分:3)

我认为需要过滤器值,转换为numpy数组然后列出:

transactions = dataset.iloc[:num_rows, :num_cols].astype(str).values.tolist()