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

使用NaN以外的填充值初始化Pandas DataFrame

顾烨磊
2023-03-14

假设我初始化一个空数据帧如下:

import pandas as pd
import numpy as np
df = pd.DataFrame(index=list('AB'), columns=list('CD'))

生成的df具有以下形式

     C    D
A  NaN  NaN
B  NaN  NaN

有没有一种pythonic方法可以将NaNs替换为其他值,例如-np。inf?当然,一种方法是简单地将其指定为数据:

df = pd.DataFrame(data=np.ones((2,2))*(-np.inf), index=list('AB'), columns=list('CD'))

也许有更简洁的方法?

共有1个答案

左丘繁
2023-03-14

将标量值作为dataparam传递,这会将所有元素设置为相同的值:

In [181]:
df = pd.DataFrame(index=list('AB'), columns=list('CD'), data=-np.inf)
df

Out[181]:
     C    D
A -inf -inf
B -inf -inf

文档显示data参数可以接受常量(标量值)以及类似数组的结构和函数。

 类似资料:
  • 问题内容: 我想补的平均相邻元件。 考虑一个数据框: 我想要的输出是: 我研究了其他解决方案,例如包含NaN的Fillcell之前和之后的平均值,但这在连续两个或多个s的情况下不起作用。 任何帮助是极大的赞赏! 问题答案: 使用+除以2: 编辑: 如果包含第一个和最后一个元素,则使用([Dark` 建议):

  • 问题内容: 我有以下代码: 它创建一个填充零的矩阵。相反,我想知道是否有一种函数或方法可以将它们初始化为s,而方法很简单。 问题答案: 您很少需要在numpy中进行矢量操作循环。您可以创建一个未初始化的数组并立即分配给所有条目: 我已经在这里和Blaenk发布的时间安排了时间: 时序显示优先选择作为更快的替代方案。OTOH,我喜欢numpy的便捷实现,在该实现中您可以同时为整个slice分配值,代

  • 在从Delphi2007迁移到XE2的过程中,我们正在考虑将加密库从DCPCrypt切换到Turbopower Lockbox 3。 a) 在DCPCrypt中,我可以显式控制初始化向量。如何在TPLB3中设置IV? b)DCPCrypt没有填充,我们在加密前用零填充明文。TPLB垫如何?当然,我们仍然可以自己做。 密码=AES-256; 链接模式=CBC; 终止=C#样式全零填充; IV传输=在

  • 我使用初始化向量和填充实现了AES 128位加密,如下面的代码所示。我碰巧使用了ColdFusion,但我认为这并不重要。加密结果显示了一些重复模式,这是我没有预料到的,但话说回来,我不知道正确输出的特征。我是否正确地进行了初始化向量和填充? 下面是示例输出: 每个加密字符串都以相同的21个字符结尾: 当原始字符串相同(第3和第4个示例中的“String3”)时,EncryptedString以相

  • 问题内容: 是否可以在python中使用全1来初始化切片? 蟒蛇: 高朗 有可能做得更好吗? 问题答案: 是的,但是您必须使用其他语法。 它被称为“复合文字” 另外,如果有理由进行迭代(如计算基于循环变量的值等),则可以使用关键字而不是旧式,因为i等于i,小于i ++循环。

  • 问题内容: 我该如何更改这样的内容: 至: 问题答案: 使用List对象管理项目,当您拥有所有元素时,然后将其转换为CharSequence。像这样: