我有一个包含数千行的csv文件。我加载文件并将其转换为pandas数据框,但随后我希望每12行分割一次文件,并将其存储为数据框列表。我该怎么做?
EVALUATION_FILE = 'training/evaluation.csv'
data = pd.read_csv(
EVALUATION_FILE,
engine='python',
index_col=None
)
我以这种方式加载文件,但我希望对其进行更改,以使其每12行分割并追加到一个列表中。我该怎么办?
答案 0 :(得分:7)
chunksize
使用此参数时,read_csv
返回一个迭代器,其中每次迭代都返回一个新块。
data = [*pd.read_csv(EVALUATION_FILE, chunksize=12)]
numpy.split
如果偶然您已经读入数据框,并希望在事后将其拆分。将nupmy.split
与定义分割点的数组一起使用。
data = np.split(df, range(12, len(df), 12))
答案 1 :(得分:2)
在groupby
之后检查read_csv
data=[y for x , y in df.groupby(data.index//12)]
EVALUATION_FILE = 'training/evaluation.csv'
data = pd.read_csv(
EVALUATION_FILE,
engine='python',
index_col=None
)