pandas 2.2.0 引入了更严格的 dtype 兼容性检查,导致默认创建的空 series(如 `pd.series(none, index=…)`)被推断为 `float64`,后续赋值字符串或日期等类型会触发 futurewarning;解决方案是显式指定 `dtype=object`。
在 Pandas 2.2.0 及后续版本中,pd.Series(None, index=…) 不再是安全的“泛型空容器”——它会隐式推断为 float64 dtype(因 None 在数值上下文中常被视作 NaN),从而导致后续对 iloc 或 .loc 的异类型赋值(如字符串、整数、日期对象)触发 FutureWarning,并在未来版本中升级为 TypeError。
根本原因在于:Pandas 的类型系统要求 Series 全局统一 dtype,而 float64 无法兼容 str、int、datetime 等类型,即使仅填充单个元素也不被允许。此时,唯一健壮且符合设计意图的通用方案是显式声明 dtype=object。
✅ 正确做法如下: