【问题标题】:Python Pandas RegressionPython Pandas 回归
【发布时间】:2016-04-12 14:42:11
【问题描述】:

[在此处输入图像描述][1]我正在努力弄清楚回归是否是我需要走的路线,以解决我目前使用 Python 面临的挑战。这是我的场景:

  • 我有一个 195 行 x 25 列的 Pandas 数据框
  • 所有数据(索引和标题除外)都是整数
  • 我希望将一个特定列(B 列)与所有其他列进行比较
  • 尝试确定任何列中是否存在影响或影响 B 列的数字范围
  • 我想在 Python 中计算的结果示例类似于:当 D 列中的数据介于 10.20 - 16.4 之间时,B 列高于 3.5

我在线阅读的 Python 回归示例似乎生成了我不需要的图表和统计数据(或者我可能解释不正确)。我认为描述我所问内容的正确措辞是识别 Pandas 数据框中两列之间线性的特定值或值范围。

谁能帮我指出正确的方向?

提前谢谢大家!

【问题讨论】:

  • 那么你想要实现的是,当D列中的数据在10.20 - 16.4之间时,确定B列是否在3.5以上?你能提供一些示例数据框吗?
  • 我想了解哪些数字或范围会影响 B 列的结果。我很快就会发布一个示例数据框。
  • 抱歉,我无法添加附件。数据框的复制/粘贴未正确显示。

标签: python pandas machine-learning statistics regression


【解决方案1】:

此时,您的目标听起来很像探索性数据分析。您可能应该首先使用pandas.Series.corr(实际上与二元回归相同)计算您的目标column B 和任何其他column 之间的correlation,您可以使用list

other_cols = [col for col in df1.columns if col !='B']
corr_B = [{other: df.loc[:, 'B'].corr(df.loc[:, other])} for other in other_col]

要掌握特定范围,我建议您查看:

  • cutqcut 功能可随心所欲地 bin 您的数据,并相应地绘制或关联子集:请参阅文档 herehere

为了可视化双变量和简单的多变量关系,我建议

  • seaborn 包,因为它包含各种类型的图,旨在帮助您快速掌握变量之间的协变。例如,请参阅单变量和双变量分布示例here、线性关系图here 和分类数据图here

以上内容应该可以帮助您理解双变量关系。一旦你想发展到多变量关系,你可以返回到scikit-learnstatsmodels 最适合python 恕我直言的包。希望这有助于您入门。

【讨论】:

  • 非常感谢您的帖子和建议。
  • 不客气。如果您需要对上述内容进行澄清,或者这是否暂时回答了您的问题,请告诉我。
猜你喜欢
  • 2017-05-21
  • 2018-09-28
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2018-12-18
  • 2020-10-19
  • 1970-01-01
  • 2016-07-21
相关资源
最近更新 更多