奇怪的是,在删除一列之后,我不能用相同的名称将它添加回去。因此,我创建了一个带有多个标记列的简单数据框,并添加了一个仅具有level0名称的新列,然后将其删除。你知道吗
>>> import pandas as pd
>>> df = pd.DataFrame([[1,2,3],[4,5,6]])
>>> df.columns=[['a','b','c'],['e','f','g']]
>>> print(df)
a b c
e f g
0 1 2 3
1 4 5 6
>>> df['d'] = df.c+2
>>> print(df)
a b c d
e f g
0 1 2 3 5
1 4 5 6 8
>>> del df['d']
>>> print(df)
a b c
e f g
0 1 2 3
1 4 5 6
现在我再次尝试添加它,它似乎没有效果,也没有显示错误或警告。你知道吗
>>> df['d'] = df.c+2
>>> print(df)
a b c
e f g
0 1 2 3
1 4 5 6
这是预期的行为吗?我应该向熊猫项目报告错误报告吗?如果我添加指定了两个级别的“d”列,则不会出现这样的问题,如下所示
df['d', 'x'] = df.c+2
谢谢你, PS:Python是2.7.14和0.20.1
调用
del
后,您的MultiIndex
级别没有被删除,这是一个问题:检查列:
删除的解决方案是^{} :
另一种解决方案是重新分配到多索引,需要
tuple
作为selectMultiIndex
列:相关问题 更多 >
编程相关推荐