当前位置:网站首页>ValueError: color kwarg must have one color per data set. 9 data sets and 1 colors were provided解决
ValueError: color kwarg must have one color per data set. 9 data sets and 1 colors were provided解决
2022-06-25 22:10:00 【落墨画雪】
关于使用pandas中的read_csv()读取已有的csv数据并对数据进行hist绘制直方图时显示ValueError: color kwarg must have one color per data set. 9 data sets and 1 colors were provided的解决方案
1问题描述
因为实际需要,将实验中获得的某个一维列表数据进行存储,并从中读取数据进行可视化操作,例如题目所说的绘制直方图,举例代码如下:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
a = np.array([1,2,3,4,5,5,5,5,6,3])#自己随便写的
data = pd.Series(a)
print(data.shape)
print(data)
data.to_csv('xxx.csv')
b = pd.read_csv('xxx.csv')
print(b.shape)#为了检查
print(b.head(10))
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
data = b
plt.hist(data,color='b',bins=10)#bins是要将整个区间划分的个数
plt.show()
部分结果如下:
(10,)
0 1
1 2
2 3
3 4
4 5
5 5
6 5
7 5
8 6
9 3
dtype: int32
(9, 2)
0 1
0 1 2
1 2 3
2 3 4
3 4 5
4 5 5
5 6 5
6 7 5
7 8 6
8 9 3
报错在hist上,
ValueError: color kwarg must have one color per data set. 9 data sets and 1 colors were provided
2问题分析
因为出错了,所以在上面的代码中添加了一些打印函数,结果发现,存储数据到csv前,即to_csv和read_csv前后的数据结构发生了变化,存储前是(10,)存储后再读取变化成了(9,2),原因应该出现在这里,因此上面的报错应该是将这个原本列数据变成了[[1,2,3],[1,2,3]…]的多维列表形式,所以出现上面报错,而出现数据读取后结构出问题,原因在于读取时,将原本自动生成的索引页作为了一列数据,而且将原本的第0行数据作为了列字段导致的,因此需要重新研究,to_csv( )和read_csv( )中的参数设置。
详细的关于read_csv()参数问题请移步pandas.read_csv常用参数用法梳理
3问题解决
话不多说,直接上解决的代码,看效果
a = np.array([1,2,3,4,5,5,5,5,6,3])
data = pd.Series(a)
print(data.shape)
print(data)
data.to_csv('xxx.csv')
b = pd.read_csv('xxx.csv',names=['rate'])
print(b.shape)
print(b.head(10))
aa = b.loc[:,'rate']
print(aa)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
data = aa
plt.hist(data,color='b',bins=10)#bins是要将整个区间划分的个数
plt.show()
其实就是在读取时给数据添加了一个列名,不会因为一些默认参数导致元数据作为列名,同时aa = b.loc[:,'rate']作为数据传入hist当中,这样保证不会传入自动添加的index
结果如下:
(10,)
0 1
1 2
2 3
3 4
4 5
5 5
6 5
7 5
8 6
9 3
dtype: int32
(10, 1)
rate
0 1
1 2
2 3
3 4
4 5
5 5
6 5
7 5
8 6
9 3
0 1
1 2
2 3
3 4
4 5
5 5
6 5
7 5
8 6
9 3
Name: rate, dtype: int64

边栏推荐
猜你喜欢
![mysql5.7版本在配置文件my.ini[mysqld]加上skip-grant-tables后无法启动](/img/b2/2b87b3cea1422e2a860f5e0e7dcc40.png)
mysql5.7版本在配置文件my.ini[mysqld]加上skip-grant-tables后无法启动

Let's talk about string today

OpenResty篇01-入门简介和安装配置

Anaconda一文入门笔记

7.常用指令(下)v-on,v-bind,v-model的常见操作

idea Kotlin版本升级

Alipay payment interface sandbox environment test and integration into an SSM e-commerce project

How does excel translate Chinese words into English automatically? This formula teaches you

Online customer service - charging standards and service provision of third parties

Uniapp -- the use of document collation and push of unipush
随机推荐
Using Google protobuf protocol environment configuration in PHP
About the swoole coroutine container
Backup restore of xtrabackup
Talk about the copy on write mechanism of PHP variables or parameters
寻找翻转数组的最小值[抽象二分]
js实现输入开始时间和结束时间,输出其中包含多少个季,并且把对应年月打印出来
Uniapp -- list page of multi header tabs
Final and static
Px4 multi computer simulation (gazebo)
6.常用指令(上)v-cloak,v-once,v-pre
平衡二叉树AVL
[转载]RSLOGIX 5000实例教程
php socket通信中stream_select方法的理解
Analyse des cinq causes profondes de l'échec du développement de produits
Spark日志分析
在win10下使用visual studio2015链接mysql数据库
Apache Doris1.0版本集群搭建、负载均衡与参数调优
debezium
unsigned与signed之大白话
实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式