Pandas 创建DataFrame提示:type object ‘object‘ has no attribute ‘dtype‘

Pandas 创建DataFrame提示:type object ‘object‘ has no attribute ‘dtype‘pandas版本0.25.3importpandasaspdsymbol_info_columns=[‘1′,’持仓方向’,’持仓量’,’持仓收益率’,’持仓收益’,’持仓均价’,’当前价格’,’最大杠杆’]#v3symbol_config={‘BTC’:’BTC-USDT-210924′,’LTC’:’LTC-USDT-210924′,’EOS’:’EOS-USDT-210924′,’ETH’:’ETH-USDT-210924′,’XRP’:’

大家好,又见面了,我是你们的朋友全栈君。

pandas版本0.25.3

import pandas as pd


symbol_info_columns = ['1', '持仓方向', '持仓量', '持仓收益率', '持仓收益', '持仓均价', '当前价格', '最大杠杆']  # v3
symbol_config = { 
   'BTC': 'BTC-USDT-210924', 'LTC': 'LTC-USDT-210924', 'EOS': 'EOS-USDT-210924', 'ETH': 'ETH-USDT-210924', 'XRP': 'XRP-USDT-210924', 'FIL': 'FIL-USDT-210924'}
symbol_info = pd.DataFrame()
# dates = pd.date_range('20190101', periods=6)
# num_df = pd.DataFrame(data=np.random.randn(6, 8), index=dates, columns=symbol_info_columns)
symbol_info = pd.DataFrame(index=symbol_config.keys(), columns=symbol_info_columns)

data为空,且dtype默认为空时
出现type object ‘object’ has no attribute ‘dtype’告警

在这里插入图片描述
原因分析:
创建DataFrame时,data字段为空
会默认创建一个空字典作为data

    def __init__(self, data=None, index=None, columns=None, dtype=None, copy=False):
        if data is None:
            data = { 
   }

然后初始化字典

elif isinstance(data, dict):
    mgr = init_dict(data, index, columns, dtype=dtype)

init_dict函数中:
columns非空,且dtype默认为None时,会赋值nan_dtype = object

if columns is not None:
	if missing.any() and not is_integer_dtype(dtype):
	    if dtype is None or np.issubdtype(dtype, np.flexible):
	        # GH#1783
	        nan_dtype = object

该object下无dtype方法
可能是object引用错误

解决方案:
pandas(版本0.25.3)init_dict函数位于
D:\Users\。。。\Anaconda3\envs\Python3.7\Lib\site-packages\pandas\core\internals\construction.py

参考Python3.9环境中pandas(版本1.2.5)
同名函数(D:\Users\。。。\Anaconda3\envs\Python3.7\Lib\site-packages\pandas\core\internals\construction.py)写法

nan_dtype = np.dtype(object)

可见该问题应该是pandas(版本0.25.3)的bug

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144023.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月11日 下午8:20
下一篇 2022年5月11日 下午8:20


相关推荐

  • AD原理图设计中如何添加NET CLASS和差分线

    AD原理图设计中如何添加NET CLASS和差分线一,添加NETCLASS由于pcb中可能存在需要设定不同规则的网络组,如果直接在pcb中添加netclass后再进行原理图更新pcb时会自动将netclass删除,所以最好在原理图中设定好。上图是放置NetClass符号的菜单。在原理图中的样子。根据上图所示修改属性和名称。参考使用案例。虚线框中的部分是Blanket,被包围的区域会被设置成同样的属性。更新完之后就可以在pcb这里看到添加的Class了。二,原理图中添加差分线标志作用同样是保证,在更新pcb的时候不会移除。

    2022年7月16日
    19
  • opencv的resize函数

    opencv的resize函数一 Opencv 官方文档中 resize 的描述 resizeResize C voidresize InputArraysr OutputArrayd Sizedsize doublefx 0 doublefy 0 intinterpola INTER LINEAR Python cv2 resize src dsize dst fx fy interpolatio dstC voidcvRes

    2026年3月19日
    2
  • onlaunch 异步_小程序onLaunch 与 onload 的异步问题(微信,支付宝实测可用)

    小程序app.js中onLaunch与index.js中onload的异步执行问题,在同时触发的情况下如何等待返回值而响应index中onload的内容比如说获取用户的openid或者凭证在没返回需要的数据之前index.js的onload会执行从而导致后续的代码没有openid的支持*ES6中提供了一个promise方案是一个不错的解决方案promise下载地…

    2022年4月14日
    95
  • Android自定义控件传送,使用 Leanback 传输控件

    Android自定义控件传送,使用 Leanback 传输控件Leanbackandr 库中具有新的播放控件 可改善用户体验 对于视频应用 传输控件支持使用前进 后退控件进行视频拖动 拖动时 屏幕上会显示缩略图来帮助浏览视频 该库中包含抽象类和开箱即用的实现 可为开发者提供更精细的控制 使用预构建实现时 您无需编写大量代码即可快速构建功能丰富的应用 如果需要进行更多自定义设置 您可以扩展该库的任何预构建组件 控件和播放器 Leanback 库将带有传

    2026年3月17日
    3
  • Java 1.8 API 帮助文档-中文版

    Java 1.8 API 帮助文档-中文版百度云链接 https pan baidu com s 1mE O6biq80Z bCO ROOWug 密码 m41r

    2026年3月16日
    1
  • vs 注释快捷键_VS2010快捷键

    vs 注释快捷键_VS2010快捷键在VisualStudioIDE中使用快捷键注释代码,无论是行注释还是块注释,第一步一定是选中要注释的内容(取消注释同样要先选中)!当然,如果是行注释,不必选取整行,将光标定位到该行即可!下面整理一下VisualStudioIDE中行注释和块注释的快捷键,以及快捷键的查看与修改。行注释行注释有以下两种方式!方式一:注释:Ctrl+K,Ctrl+C取消:Ctrl+K,Ctrl+U方式二:注释和取消都是这组快捷键:Ctrl+K,Ct…

    2022年8月15日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号