动机
许多数据集足够大,我们需要关心速度/效率。 所以我以这种精神提供这个解决scheme。 它恰好也是简洁的。
为了比较,我们放下index栏
df = data_set.drop('index', 1)
解
我会build议使用zip和理解
list(zip(*[df[c].values.tolist() for c in df])) [('2012-02-17', 24.75, 25.03), ('2012-02-16', 25.0, 25.07), ('2012-02-15', 24.99, 25.15), ('2012-02-14', 24.68, 25.05), ('2012-02-13', 24.62, 24.77), ('2012-02-10', 24.38, 24.61)]
如果我们想要处理一个特定的列子集,它也是灵活的。 我们假设我们已经显示的列是我们想要的子集。
list(zip(*[df[c].values.tolist() for c in ['data_date', 'data_1', 'data_2'])) [('2012-02-17', 24.75, 25.03), ('2012-02-16', 25.0, 25.07), ('2012-02-15', 24.99, 25.15), ('2012-02-14', 24.68, 25.05), ('2012-02-13', 24.62, 24.77), ('2012-02-10', 24.38, 24.61)]
以下全部产生相同的结果
[tuple(x) for x in df.values]
df.to_records(i