我应该对Pandas DataFrame使用多行或多列吗?

时间:2019-04-29 23:55:48

标签: python pandas

让我们假设数据具有以下结构: (年份,国家,地区,值)

示例:

Year, Country, Region, Values
2010     A      1      [1,2,3,...(1000 values)]
2010     A      2      [1,2,3,...(1000 values)]
...
2014     J      5      [1,2,3,...(1000 values)]

有5年,有10个国家/地区,每个国家有5个地区,并且每年,国家/地区和地区的每种组合都有1000个值。

我想知道如何决定应该使用多行还是多列来存储此类数据。有什么主要区别(如果有)?每种方法的优点是什么?

有很多方法可以存储这些数据,例如:

  1. 多行(国家/地区),单列(年份)和一组 值
  2. 多列(年,国家/地区),每个 行
  3. 多行(国家/地区),多列(年份,价值指数)
  4. 单行,一年有一列,国家有一列,地区有另一列,值阵列又有一列。

选项3似乎非常糟糕,因为将有5年x 1000列。 选项4似乎也很糟糕,因为每次需要时我都需要分组。

2 个答案:

答案 0 :(得分:2)

您应该查看“整理数据”。试图成为组织数据集中数据值的标准。

整理数据原理
 1.列代表单独的变量
 2.行代表个人观察
 3.观察单位形成单独的DataFrame。

根据您的发言,看来多列也许是行之有效的方法。可能还有几组数据。

答案 1 :(得分:1)

取决于您要做什么。但是我会选择多行,因为我觉得pandas是为处理列数据而构建的。尽管长数据格式似乎也通常是首选。快速浏览“长”和“宽”数据会在wide-to-long上产生许多结果,但没有其他方法。

This blog post还指出了长而宽的数据格式的一些优点。