我有一个包含几列的数据帧df,例如“ A”,“ B”和“ C”。我试图创建一个新列“ D”,即“ C”的移位。没有错误,但事实证明,我的df仍然只有3列。为什么会发生这种情况以及如何解决?
我在Jupyter中遇到此问题。使用相同的概念,我确实尝试了Spyder,并且以某种方式起作用。 Jupyter中的语法可能不同吗?
```
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,3), columns=list('ABC'))
print(df)
A B C
0 0.921140 2.003523 -0.639205
1 -1.148732 -0.189015 0.669867
2 -0.033608 -0.423422 1.813582
3 0.643690 0.378495 0.181346
4 -1.327353 0.166061 -0.003853
5 0.522366 -1.780002 -1.609952
df['D'] = df['A'].shift()
print(df)
A B C
0 0.921140 2.003523 -0.639205
1 -1.148732 -0.189015 0.669867
2 -0.033608 -0.423422 1.813582
3 0.643690 0.378495 0.181346
4 -1.327353 0.166061 -0.003853
5 0.522366 -1.780002 -1.609952
```
再次,我没有警告也没有错误。它只是忽略而我的df仍然具有相同的形状,好像什么也没发生。