【问题标题】:Excel to Python for big panel data, regression ready format?用于大面板数据的 Excel 到 Python,回归就绪格式?
【发布时间】:2016-07-26 09:21:02
【问题描述】:

试图从 excel 中获取一些大面板数据到 python 中,这样我就可以做一些 GMM/横截面面板数据回归分析(想想 sci-kit 包)。我已将数据从 excel 移至 Python,但回归分析的格式不正确(见下文)。 Scikit 网站上有一些数据集可供使用,但对于讨论格式以及如何将您的数据转换为类似格式以将我的数据转换为 Python 并没有真正的帮助。

有没有人有任何使用 excel (.xlsx) 数据并将其“准备好回归”的经验?

我已经在 R 和 Stata 中完成了我需要的回归分析,但我想更好地使用 Python 进行回归分析,因为它有一些不错的属性。

到目前为止,这是我的数据框格式,从 excel 到 Python。 (这是从 10,000 X 60 形状的数据集中截断的)

   BANKS  YEARS     CIR         DSF   EQCUS     EQLI     EQNT      EQUITY  
0     CR1   2005   65.46   927915.00  28.553   23.948   37.542  264946.50   
1     CR1   2006   65.98  1026491.00  30.491   26.584   36.143  312986.00   
2     CR1   2007   60.26  1437615.00  27.003   23.413   28.238  388197.20   
3     CR1   2008   58.08  1605464.00  24.024   20.160   25.828  385696.80   
4     CR1   2009   65.21  1538570.00  28.160   22.850   27.907  433267.30   
5     CR1   2010   54.45  1822863.00  31.009   24.555   28.274  565254.60   
6     CR1   2011   57.38  2075505.00  30.905   24.861   29.618  641440.50   
7     CR1   2012   62.12  2533641.00  29.595   24.509   28.883  749821.50   

数据类型:

>>>df.dtypes

BANKS                   object
YEARS                    int64
CIR                    float64
DSF                    float64
EQCUS                  float64
EQLI                   float64
EQNT                   float64
EQUITY                 float64

列中的 Unicode(我认为 sci-kit 不喜欢这样!)

>>>df.columns.tolist()

[u'BANKS', u'YEARS', u'CIR', u'DSF', u'EQCUS', u'EQLI', u'EQNT', u'EQUITY']

【问题讨论】:

  • 我认为数据集没有任何问题。这是一个 pandas 数据框,可以在 scikit-learn 中使用。您在使用此数据集时遇到了什么问题?
  • 我猜在 scikit-learn 页面上,我没有看到任何输入 excel 数据的文档。我所看到的只是他们的数据集已经加载,然后他们开始提取特征并拟合模型。我如何为上面的这些数据运行基本的 OLS?我在 scikit 页面上的任何地方都没有看到这个。 Statsmodels 也有类似的文档问题。

标签: excel panel regression analysis


【解决方案1】:

我不确定您在回归中包含了哪些列,或者您遇到了哪些错误,但您不能在回归中使用分类变量(例如“BANKS”)。您需要将分类变量转换为虚拟变量(二进制 0/1)并从回归中排除原始分类变量。

我也不相信您可以包含缺少数据点的行,因此您需要估算数据或删除行。 (大熊猫中的 df.fillna)

您可能需要考虑使用 pandas 来管理 Python 中的数据集。这是一个可以在 python 中安装和导入的包,它使 python 的行为更像 R 或 STATA。这里有一个很好的教程:http://pandas.pydata.org/pandas-docs/stable/10min.html

Pandas 甚至还有将分类变量转换为虚拟变量的功能:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html

希望对您有所帮助...

【讨论】:

  • 感谢您的链接!我现在用熊猫。 “banks”变量不用作回归量,而是表示面板数据。我只需要一些帮助来以它的格式对这些数据进行回归。当涉及到通过“stata”或“R”形式导入数据时,关于 Python 回归的信息非常少,我感到非常惊讶。
  • 我通过 pandas 准备了数据,请参阅我的其他问题,因为我使用了 'melt'、'pivot' 和 'groupby' 命令。目前我只是想运行回归,OLS 让我的数据通过 sci-kit 移动。
  • 没问题 :) 你遇到了什么问题?
猜你喜欢
  • 2019-11-24
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-05
  • 2020-05-30
  • 2021-08-25
  • 1970-01-01
相关资源
最近更新 更多