大卫之后熊猫没有NaN:bug还是故意行为?

时间:2016-02-01 19:40:57

标签: python pandas

我有一个像这样的初始DataFrame:

    var conversion;

    while (conversion === null || (conversion !== "miles to km" && conversion !== "km to miles")) {
        conversion = prompt('Do you want to convert miles to km, or km to miles?');
    }

    console.log(conversion);

如果我对其使用d = pd.DataFrame({"value":(None,)}) ,则生成的DataFrame会将pd.concat转换为None

NaN

如果我有一个混合文本/ In [14]: pd.concat([d], axis=0, ignore_index=True) Out[14]: value 0 NaN 的数据框:

,则不会发生这种情况
None

我无法理解这种行为。这是一个错误,还是背后有一些特殊的推理?

2 个答案:

答案 0 :(得分:0)

我认为这是一个错误。这是解决方法:

import numpy as np
...
d2 = d2.apply(lambda v: v if v is not None else np.nan)

答案 1 :(得分:0)

似乎这是旧版熊猫的错误​​

您使用的是哪个版本的熊猫?

我正在使用pandas 0.20.3,数据帧值None保持不变,在运行代码时不会转换为NaN。

尝试升级您的pandas版本并检查。

找到与您的问题相关的document