当前位置: 首页 > 知识库问答 >
问题:

用float类型的NaN创建空熊猫数据表的优雅方法

印宏阔
2023-03-14

我想创建一个熊猫的数据frame充满了南。在我的研究中,我找到了一个答案:

import pandas as pd

df = pd.DataFrame(index=range(0,4),columns=['A'])

此代码将生成一个用类型为“Object”的NaNs填充的DataFrame。因此以后不能使用它们,例如interpolate()方法。因此,我用这段复杂的代码创建了DataFrame(灵感来自这个答案):

import pandas as pd
import numpy as np

dummyarray = np.empty((4,1))
dummyarray[:] = np.nan

df = pd.DataFrame(dummyarray)

这将产生一个用类型为“float”的NaN填充的DataFrame,因此以后可以与interpolate()一起使用。有没有更优雅的方法来创建同样的结果?

共有1个答案

于正志
2023-03-14

只需将所需的值作为第一个参数传递,比如0Math.inf或这里的np.nan。然后构造函数初始化值数组,并将其填充到参数indexcolumns指定的大小:

>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame(np.nan, index=[0, 1, 2, 3], columns=['A', 'B'])

>>> df
    A   B
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN

>>> df.dtypes
A    float64
B    float64
dtype: object
 类似资料:
  • 问题内容: 我想创建一个充满NaN的Pandas DataFrame。在研究过程中,我找到了答案: 这段代码将导致一个DataFrame充满“对象”类型的NaN。因此,它们以后将无法与该方法一起使用。因此,我使用以下复杂代码创建了DataFrame(受此答案启发): 这将导致一个DataFrame填充有类型为“ float”的NaN,因此以后可以将其使用。有没有更优雅的方法来产生相同的结果? 问题

  • 我有一个空单元格的数据框,并希望用NaN替换这些空单元格。之前在这个论坛上提出的解决方案有效,但前提是单元格包含一个空间: 当单元格为空时,此代码不起作用。有人建议用熊猫代码来代替空细胞吗?

  • 我需要创建一个具有特定形状的空数据框,例如[10,10],以存储来自其他源的数据。 在熊猫中很简单: 但在红宝石使用达鲁,我不知道如何做到这一点。 相关问题:熊猫数据帧

  • 我有一个运行良好的动态数据帧,但是当没有数据添加到数据帧中时,我会得到一个错误。因此,我需要一个解决方案来创建一个只有列名的空数据帧。 现在我有这样的东西: PS:列名仍然出现在数据帧中是很重要的。 但当我这样使用它时,我得到的结果是: “空数据帧”部分不错!但是我仍然需要显示列,而不是索引。 编辑: 我发现了一件重要的事情:我正在使用Jinja2将此数据帧转换为PDF,因此我调用了一个方法,首先

  • 问题内容: 我收到 ValueError:无法将float NaN转换为整数 ,原因如下: “ x”显然是csv文件中的一列,但我无法在文件中发现任何 浮点NaN ,也无法理解其含义。 当我将列读为String时,它的值就像-1,0,1,… 2000,对我来说,它们看起来都非常漂亮。 当我将列读为float时,可​​以加载它。然后它显示值为-1.0,0.0等,仍然没有任何NaN-s 我尝试使用 e

  • 问题内容: 如果我有一个包含以下列的数据框: 我想说:这是一个数据框,请给我列出对象类型或日期时间类型的列的列表吗? 我有一个将数字(Float64)转换为两位小数的函数,并且我想使用此数据框列的特定类型的列表,并通过此函数运行它以将它们全部转换为2dp。 也许: 问题答案: 如果您想要某种类型的列的列表,可以使用: