这里的第一个问题是 0.12 中的一个错误,但在 0.13.0rc1 中已修复。这里的第二个问题并没有解决,至少是不一致的。
这两种情况都可以正常工作:
a = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'B'],[1, 2]])
b = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'B']])
b[['a']]=a[['a']]
和
a = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'b'],[1, 2]])
b = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'b'],[1, 2]])
b[['a']]=a[['a']]
然而,
a = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'B'],[1, 2]])
b = DataFrame(np.zeros((2, 2), dtype=float),columns=[['a', 'B'],[1, 2]])
b[['a']]=a[['a']]
生成一个AttributeError: _ref_locs
类似情况:
b = DataFrame(np.zeros((2, 2)),columns=[['a', 'c'],[1,2]])
b.drop('a', axis=1)
工作正常,但是
b = DataFrame(np.zeros((2, 2)),columns=[['a', 'C'],[1,2]])
b.drop('a', axis=1)
给出 AttributeError: 'FrozenNDArray' 对象没有属性 'start'