为什么数据框的内容会影响设置?

时间:2019-03-24 21:34:41

标签: python pandas

此案的结果:

df = _pd.DataFrame({'a':['1','2','3']})

df['b'] = _np.nan

for index in df.index:

    df.loc[index, 'b'] = [{'a':1}]

是:

    a   b
0   1   {'a': 1}
1   2   [{'a': 1}]
2   3   [{'a': 1}]

此案的结果:

df = _pd.DataFrame({'a':[1,2,3]})

df['b'] = _np.nan

for index in df.index:

    df.loc[index, 'b'] = [{'a':1}]

是:

    a   b
0   1   {'a': 1}
1   2   {'a': 1}
2   3   {'a': 1}

为什么?

_pd.__version__
'0.23.4'

编辑:我想添加版本号,因为这可能是一个错误。在我看来,这是合理的。但是,我们在stackoverflow.com上拥有的这个新的手动系统不会让我这样做;因此,我要添加此编辑以满足字符要求。

1 个答案:

答案 0 :(得分:2)

我认为这是由于将object分配给float类型columns时的类型转换引起的,第一项需要将​​整个列类型从float转换为object,然后整个column变成了object,并且index的数字1,2将是正确的类型assign,因为column本身已经变成了{{1} }

object

此外,我认为这可能属于主题https://github.com/pandas-dev/pandas/issues/11617