数据格式化的最佳实践是什么?

数据挖掘 机器学习 Python 统计数据 熊猫
2022-03-16 03:01:45

我曾经在 Excel 上做一些分析,但我的公司想使用 Python 来增加分析。我是 python 新手,对我必须学习的所有这些知识感到不知所措:'(

所以对于我的第一个项目,我已经导入了我的 csv 文件并且我收到了这个错误消息“C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\interactiveshell.py:2785: DtypeWarning: 列 (8,9,31,32,35,36,37,38,39,40) 有混合类型。在导入时指定 dtype 选项或设置 low_memory=False.interactivity=interactivity, compiler=compiler, result=result ) "

可悲的是,我对这一切一无所知,所以我在网上查看并猜猜是什么?对我来说仍然不清楚。所以我的问题是

  1. 我应该怎么做才能避免此错误消息?
  2. 使用数据集时的最佳做法/格式是什么?

谢谢

1个回答

此警告试图让您知道 DataFrame 的某些列无法解析为单一数据类型(至少从 pandas 的角度来看,它不知道将列解释为什么!)。由于这是一个警告,pandas 很乐意在完成后为您提供 DataFrame,read_csv但如果不以某种方式处理您的混合类型列,则不建议继续进行。

1) 您可以通过明确标识dtype. 参数inread_csv被方便地称为dtype文档指定的用法可以是单一数据类型(例如dtype = str),也可以是列和数据类型的字典(例如dtype = {0:str, 1:int})。数据类型的一些选项是:

  • pandas 特定的数据类型 ( object)
  • 内置的 Python 类型 ( str, int, float)
  • 或 numpy 数据类型 ( numpy.int32, numpy.float64)

指定每列数据类型的好处是,如果某些内容违反了该类型约定,Python 将抛出一个硬错误。这是一个很棒的即时检查数据是否符合您期望的格式,并且 Python 大声中断总是很好的。但是,您可能只想读取所有数据,然后在 DataFrame 中修复它。您通常可以通过指定而侥幸逃脱,dtype=str并且 pandas 将(通常)read_csv毫无怨言地执行。

2)由于不幸的是,这个问题最好回答为“取决于情况”,我建议研究数据清理方法(因为这主要是这个问题)。一些具体(但通用)的建议是:认真考虑您希望如何处理丢失/格式错误的数据,明确说明您将应用于数据以处理这些情况的转换,并跟踪您已经做出了这些改变。

我希望这可以帮到你!