Pandas创建DataFrame提示:type object 'object' has no attribute 'dtype'解决方案
作者:779醒 发布时间:2022-08-06 16:33:18
标签:pandas,dataframe,告警
发现问题
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://blog.csdn.net/chenbaixing/article/details/118872809


猜你喜欢
- 写在前面ufunc是universal function的缩写,意思是这些函数能够作用于narray对象的每一个元素上,而不是针对narra
- 前言语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速、音调、音量设置,打破传统文字式人机交互的方式,让人机沟通更自
- 自今年1月份以Jetbrain公司严厉打击旗下开发工具产品(如:IntelliJ IDEA、WebStorm、PyCharm等)的盗版破解以
- 什么是PRC&GRPCRPC是远程过程调用(Remote Procedure Call)的缩写形式, RPC 的主要功能目标是让构建
- 引子: 今天看到别人的一个题目: function fn(x){ x = 10; arguments[0] = 20; console.lo
- chomp是用来删除换行符.#!/usr/bin/perl $c="abcde"; chomp($c); print &
- 我们通过模拟随机漫步可以说明如何运用数组运算。通过内置的random模块以纯Python的方式实现1000步的随机漫步根据前100个随机漫步
- 1. js的数据类型1.1 js引入方式<!DOCTYPE html><html lang="en"&
- Tensorflow二维、三维、四维矩阵运算(矩阵相乘,点乘,行/列累加)1. 矩阵相乘 根据矩阵相乘的匹配原则,左乘矩阵的列数要等于右乘矩
- 一篇关于STR和UNICODE的好文章整理下python编码相关的内容注意: 以下讨论为Python2.x版本, Py3k的待尝试开始用py
- Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码。原理如下:在网页输入代码:点击R
- 用关键字 in 和not in 来 如下:qwe =[1,2,3,4,5] if 2 in qwe: print ‘good!' e
- python怎么打印菱形?下面给大家带来三种方法:第一种rows = int(input('请输入菱形边长:\n'))row
- tensorflow中对tensor对象进行像numpy数组一样便捷的操作是不可能的, 至少对1.2以及之前的版本而言。从issue上看到,
- 最近正在做首页,处理很棘手的浏览器兼容的问题,主要调试的浏览器为 IE6 ,IE7 ,FF3 ,Opera9.5 ,Safari3.1.2兼
- 1、安装pip install djangorestframework2、创建项目及应用创建项目创建应用目录结构如图3、设置settings
- 概述名称描述NOT REGEXP否定的REGEXPREGEXP字符串是否匹配正则表达式RLIKE字符串是否匹配正则表达式正则表达式是指定复杂
- 在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中
- 分享一个以前写的小游戏,纯js游戏,代码很简单。欢迎大家来喷呦!效果图: 代码展示://直接复制到html文件即可 支持IE9+版
- 引言膨胀与腐蚀是图像处理中两种最基本的形态学操作,膨胀将目标点融合到背景中,向外部扩展,腐蚀与膨胀意义相反,消除连通的边界,使边界向内收缩。