首页 > 解决方案 > 我应该如何减少 Kaggle 上 pandas 的计算时间?

问题描述

我正在做 2019 Data Science Bowl。我使用 pandas 读取训练和测试数据需要很长时间,我想减少时间,以便机器可以高效地运行分析。

import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

import matplotlib.pyplot as plt
import seaborn as sns
import plotly as py
import plotly.express as px
import plotly.graph_objs as go
from plotly.subplots import make_subplots
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True) 

import warnings
warnings.filterwarnings('ignore')

%matplotlib inline
keep_cols = ['event_id', 'game_session', 'installation_id', 'event_count', 'event_code', 'title', 'game_time', 'type', 'world']
specs_df = pd.read_csv('/kaggle/input/data-science-bowl-2019/specs.csv')
train_df = pd.read_csv('/kaggle/input/data-science-bowl-2019/train.csv',usecols=keep_cols)
test_df = pd.read_csv('/kaggle/input/data-science-bowl-2019/test.csv')
train_labels_df = pd.read_csv('/kaggle/input/data-science-bowl-2019/train_labels.csv')

标签: pythonpandasmemory-managementgarbage-collectionkaggle

解决方案


Pandasread_csv方法有一个chunksize参数作为迭代器产生一定数量的行。这对于非常大的数据集很有用,您可以在其中迭代地训练较小的数据子集。

有关迭代文件的更多信息在此处的文档中进行了描述。


推荐阅读