【发布时间】:2021-08-08 17:37:47
【问题描述】:
我尝试在 DataFrame 中移动值。我正在使用 Spyder 5.0.0。
我使用numpy.roll 转移origin_df.values 并且它有效:
shifted = np.roll(origin_df.values, shift=4)
shifted_df = pd.DataFrame(shifted)
但是,当我尝试将其合并到一个函数中时:
def shift_df(df, steps):
shifted = np.roll(df.values, steps)
shifted_df = pd.DataFrame(shifted)
shifted_df.index = df.index
return shifted_df
并调用函数:
shifted_df = shift_df(origin_df, 4)
Spyder 给我以下错误:
TypeError: _roll_dispatcher() missing 1 required positional argument: 'shift'
更奇怪的是:
完全一样在 jupyter notebook 中可以正常工作:
有什么办法解决这个问题吗?
非常感谢您提前提供的任何帮助!
【问题讨论】:
-
您能分享您在 Spyder 中遇到的错误的完整回溯吗?
-
是的,请稍等
-
确实很奇怪,也许 Spyder 出了点问题。你重启了内核
:)? -
我已经重新启动内核并且它工作了! :) 这有多奇怪??
-
感谢您的提示!
标签: python pandas dataframe numpy spyder