相关疑难解决方法(0)

如何在Python中的Pandas数据框中用None替换值?

是否有任何方法可以None在Python 中用Pandas 替换值?

您可以使用df.replace('pre', 'post')并可以将值替换为另一个值,但如果您想要替换None值,则无法执行此操作,如果您尝试,则会得到一个奇怪的结果.

所以这是一个例子:

df = DataFrame(['-',3,2,5,1,-5,-1,'-',9])
df.replace('-', 0)
Run Code Online (Sandbox Code Playgroud)

返回成功的结果.

但,

df.replace('-', None)
Run Code Online (Sandbox Code Playgroud)

返回以下结果:

0
0   - // this isn't replaced
1   3
2   2
3   5
4   1
5  -5
6  -1
7  -1 // this is changed to `-1`...
8   9
Run Code Online (Sandbox Code Playgroud)

为什么会返回这么奇怪的结果?

由于我想将这个数据帧倒入MySQL数据库,因此我无法将NaN值放入数据框中的任何元素中,而是想放入None.当然,您可以先更改'-'NaN然后转换NaNNone,但我想知道为什么数据框以这种可怕的方式运行.

python replace nan dataframe pandas

68
推荐指数
5
解决办法
13万
查看次数

Numpy - 用NaN替换数字

我想在numpy中用NaN替换一个数字,我正在寻找像numpy.nan_to_num这样的函数,反之亦然.

处理不同的数组时,该数字可能会发生变化,因为每个数组都可以唯一定义NoDataValue.我看到人们使用字典,但阵列很大,充满了正面和负面的浮动.我怀疑尝试将所有这些加载到任何东西来创建密钥是没有效率的.

我尝试使用以下和numpy要求我使用any()或all().我意识到我需要迭代元素,但希望内置函数可以实现这一点.

def replaceNoData(scanBlock, NDV):
    for n, i in enumerate(array):
        if i == NDV:
            scanBlock[n] = numpy.nan
Run Code Online (Sandbox Code Playgroud)

NDV是GDAL没有数据值,数组是一个numpy数组.

是一个掩盖阵列的方式可能去?

python arrays numpy nan gdal

31
推荐指数
1
解决办法
9万
查看次数

标签 统计

nan ×2

python ×2

arrays ×1

dataframe ×1

gdal ×1

numpy ×1

pandas ×1

replace ×1