python - 我应该如何减少 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')
解决方案
Pandasread_csv
方法有一个chunksize
参数作为迭代器产生一定数量的行。这对于非常大的数据集很有用,您可以在其中迭代地训练较小的数据子集。
有关迭代文件的更多信息在此处的文档中进行了描述。
推荐阅读
- elixir - ExUnit - 如何通过命名设置函数将上下文传递给描述块中的测试宏
- c++ - 是否可以以编程方式构造 std::initializer_list?
- javascript - vuejs2 从具有相同模型名称的多个输入中获取值
- powershell - 从 powershell 脚本同步调用 .bat 文件
- python - 如何使用 Django 1.6 使用与 Django ORM 的通用关系中的字段计数来注释查询集
- sql - 如何仅获取 MSSQL 中每个对话的最后一条消息
- node.js - Nodejs 加解密
- asp.net-mvc - 如何将名为“file[]”的发布数据绑定到 MVC 模型?
- git - 防止 git workdir 中的临时文件
- spring - 如何使用 STS 工具创建 Spring Batch 管理应用程序