python - 滚动应用函数必须是实数,而不是 Nonetype
问题描述
我正在尝试使用滚动和应用功能来打印窗口
但我得到了错误说
File "pandas/_libs/window.pyx", line 1649, in pandas._libs.window.roll_generic
TypeError: must be real number, not NoneType
我的代码如下
def print_window(window):
print(window)
print('==================')
def example():
df = pd.read_csv('window_example.csv')
df.rolling(5).apply(print_window)
我的数据就像
number sum mean
1 1 1
2 3 1.5
3 6 2
4 10 2.5
5 15 3
6 20 4
我应该如何解决这个错误?我没有找到关于这个错误的类似问题
谢谢 !
解决方案
这种行为出现在pandas=1.0.0
. apply 的函数现在预计会返回一个值来影响相应的列。
您的代码的解决方法是:
def print_window(window):
print(window)
print('==================')
return 0
def example():
df = pd.read_csv('window_example.csv')
df.rolling(5).apply(print_window)
推荐阅读
- python - 将数据框列中的值获取到新的数据框列中
- python - 如何将txt文件作为输入到python(烧瓶)
- typescript - 在打字稿中为自定义对象创建类型
- javascript - 点击事件后更新变量
- reactjs - I want to apply that theme when click the specific button in material UI React?
- react-native - NavigationContainer 显示“找不到变量:反应”
- cassandra - 使用来自 FLink 的 Datastax 驱动程序使用 SSL 连接到 CosmosDB
- reactjs - 在 react-markdown 中使用 rehype-raw 来解析类型不匹配的 HTML 元素
- c++ - Eclipse C++ 无法编译,未定义对“xTaskCreate”的引用
- html - 如何在html表中查找父行是否有子行