当前位置: 首页 > 面试题库 >

创建带有float类型NaN的空熊猫DataFrame的绝佳方法

蔚宏大
2023-03-14
问题内容

我想创建一个充满NaN的Pandas
DataFrame。在研究过程中,我找到了答案:

import pandas as pd

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

这段代码将导致一个DataFrame充满“对象”类型的NaN。因此,它们以后将无法与该interpolate()方法一起使用。因此,我使用以下复杂代码创建了DataFrame(受此答案启发):

import pandas as pd
import numpy as np

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

df = pd.DataFrame(dummyarray)

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


问题答案:

简单地传递所期望的值作为第一个参数,如0math.inf或,这里,np.nan。然后,构造函数将值数组初始化并填充为参数index和指定的大小columns

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

>>> df.dtypes
A    float64
B    float64
dtype: object

>>> df.values
array([[nan, nan],
       [nan, nan],
       [nan, nan],
       [nan, nan]])


 类似资料:
  • 我想创建一个熊猫的数据frame充满了南。在我的研究中,我找到了一个答案: 此代码将生成一个用类型为“Object”的NaNs填充的DataFrame。因此以后不能使用它们,例如方法。因此,我用这段复杂的代码创建了DataFrame(灵感来自这个答案): 这将产生一个用类型为“float”的NaN填充的DataFrame,因此以后可以与一起使用。有没有更优雅的方法来创建同样的结果?

  • 我有多个CSV文件与测量数据,我将需要合并到一个熊猫DataFrame与日期/时间作为索引。我尝试过使用pd.concat,但是,这只是把csv文件添加在一起,并不能正确地“排序”它们。 示例文件1: 示例文件2: 如何将文件导入到一个数据帧中,使其按索引和名称进行排序??

  • 问题内容: 以下面的DataFrame为例, 生成一个新列的简单方法是什么?该列包含某一列中的某些数据聚集? 例如,如果我总结了 我怎样才能得到 问题答案:

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

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

  • 这篇文章提供了一种优雅的方法来创建指定数据类型的空数据帧。如果指定np。nan值初始化时,数据类型设置为浮点: 但是我想创建一个空数据框,每个列中有不同的数据类型。dtype关键字参数似乎只接受一个。 背景:我正在编写一个以增量方式生成数据的脚本,因此我需要在脚本执行期间将其存储在某个地方。我认为空数据帧(大到足以容纳所有预期的数据)是最好的方法。这一定是一个相当常见的任务,所以如果有人有更好的方