随着双碳战略的提出和电池技术、电动机技术等的不断进步,新能源汽车最近几年势头很猛,借着一份汽车销售数据一起来了解一下新能源汽车目前的市场情况,大家买电车的说不定可以用上,毕竟这可是购车群体用脚投票出来的大数据

1.数据处理

本文数据来自和鲸平台,主要包含了2015~2023年11月各厂商各新能源车型的销量数据。

import pandas as pd
data=pd.read_excel('中国电动车每月销售表.xlsx')
data.head()

car_data=pd.read_excel('中国汽车总体销量.xlsx')
car_data['年份']=car_data['时间'].map(lambda x:int(str(x)[:4]))
car_data=car_data.groupby(['年份']).agg({"销量":"sum"}).reset_index()
car_data.columns=['年份','汽车总体销量']
car_data.head()

2.数据解读

2.1 近几年新能源汽车发展趋势

a.新能源汽车销量变化

## 15~23年销量变化
t1=data.groupby(['年份']).agg({"销量":"sum"}).reset_index()
t1['上一年销量']=t1['销量'].shift(periods=1,fill_value=0)
t1['同比增速']=(t1['销量']/t1['上一年销量'])-1
t1=pd.merge(t1,car_data,on=['年份'],how='left')
t1['电动车销量占比']=t1['销量']/t1['汽车总体销量']

##电动车销量占比
t1=pd.merge(t1,car_data,on=['年份'],how='left')
t1['电动车销量占比']=t1['销量']/t1['汽车总体销量']
t1

2015年新能源汽车仅12万辆,占比汽车总销量仅0.6%。2016至2018年增长迅速,但在2019和2022年停在100万辆,2021年又开始增长,到2023年(截止11月份),新能源汽车销量达到521万辆,占比汽车总销量达到34%。

b.新能源汽车厂商数量变化

data.groupby(['年份']).agg({"厂商":"nunique"}).reset_index()


2015年新能源汽车厂商仅7家,从2018年开始剧增,到2021年稳定在80多家,2023年为85家。

  • 2015年哪7家是最早吃螃蟹的人?
data[data['年份']==2015]["厂商"].unique()

2015年新能源汽车厂商仅有7家,分别为’众泰新能源’, ‘一汽丰田’, ‘比亚迪’, ‘上汽集团’, ‘东风日产’, ‘腾势汽车’, ‘知豆电动车’。

list_2015=data[data['年份']==2015]["厂商"].unique()
list_2023=data[data['年份']==2023]["厂商"].unique()
list3=[x for x in list_2023 if x in list_2015]
list3

很牛的是这7家中到了2023年,还有5家(‘比亚迪’, ‘腾势汽车’, ‘东风日产’, ‘上汽集团’, ‘一汽丰田’)仍然活跃在市场上,

  • 2015到2023年中哪些厂商消失在新能源汽车市场里了?
list_all=data["厂商"].unique()
print(len(list_all)-len(list_2023))
len(list_2023)/len(list_all)

2015到2023年一共有116家厂商在新能源汽车市场活跃过,到2023年有85家还在活跃,存活率73%,期间有31家厂商退出市场。

list_out=[x for x in list_all if x not in list_2023]
data[data['厂商'].isin(list_out)].groupby(['厂商']).agg({"销量":"sum"}).reset_index().\
sort_values(by=['销量'],ascending=False)

退出市场的31家中,历史销量破10万辆的为’众泰新能源’和’江淮汽车’。'众泰新能源’为2015年吃螃蟹的7家厂商之一,另一家类似命运的’知豆电动车’历史销量为7万辆。

2.2 2023年新能源汽车市场

a.2023哪些厂商卖的好

t2=data[data['年份']==2023].groupby(['厂商']).agg({"销量":"sum"}).sort_values(by=['销量'],ascending=False).reset_index()
t2['厂商']=t2.apply(lambda x: '其他' if x.销量<=50000 else x.厂商,axis=1)
t2=t2.groupby(['厂商']).agg({"销量":"sum"}).sort_values(by=['销量'],ascending=False).reset_index()  
t2

  • 2023年(截止11月份)比亚迪市场销量203万辆,占比39%,稳居top1。远超第二名特斯拉(46万辆,9%)和第三名上汽通用五菱(32万辆,6%)。

  • 蔚小理中目前理想遥遥领先(28万辆,5%),蔚来(11万辆,2%),小鹏(7万辆,1%)。

b.2023哪些车型卖的好

t3=data[data['年份']==2023].groupby(['车型','厂商']).agg({"销量":"sum",'平均价位':"mean"}).sort_values(by=['销量'],ascending=False).reset_index()
t3.head(20)

  • 2023年(截止11月份)Top20车型里有10个车型都是比亚迪的,均价大都在20万以下,走的亲民路线。而其中比亚迪汉和比亚迪唐均价达到30万附近。

  • 特斯拉的爆款是ModelY和Model3,均价都在30万左右,分别卖了35万辆(销量第2)和12万辆(销量第13)。

  • 理想的3款爆款车为L7、L8、L9,均在30万以上,理想L9更是达到44万。

  • 腾势汽车的D9均价50万,是Top20畅销车型里最贵的,卖了9.7万辆。

  • Top20畅销车型有4款车在10万以下,长安Lumin 5.9万、宏光MINIEV 6.6万、五菱缤果 7.4万、比亚迪海鸥 8.2万

相关文章

详解动态网页数据获取以及浏览器数据和网络数据交互流程-Python

动态网页是一种在用户浏览时实时生成或变化的网页。。相比之下,动态网页可以根据用户的互动、请求或其他条件在浏览器端或服务器端生成新的内容。而且现在的网页一般都是采用前后端分离的架构,前端负责展示和用户交互,后端负责数据处理。这种架构使得前端可以更加灵活地实现动态内容的加载和展示。所以说以后想要获取到数据,动态网页数据获取会成为我们主流获取网页数据的技术。所以在动态网页数据获取这方面我们需要下足功夫了解动态网页数据交互形式、数据存储访问模式等方方面面的知识,我们才好更加灵活的获取到数据。

从虚拟到现实:数字孪生驱动智慧城市可持续发展

同时,我们也需要不断探索和创新数字孪生技术的应用场景和发展方向,为智慧城市的可持续发展提供更加全面和深入的支持。“方案365”2023年全新整理智慧城市、数字孪生、乡村振兴、智慧乡村、元宇宙、数据中台、智慧园区、智慧社区、智慧矿山、城市生命线、智慧水利、智慧应急、智慧校园、智慧工地、智慧农业、智慧文旅、智慧交通等300+行业全套解决方案。通过智能电表和能源管理系统,数字孪生技术可以实现对家庭、企业等各个层面的能源使用情况进行监测和优化,提高能源利用效率,推动城市的绿色发展。

ElasticSearch 集群搭建与状态监控cerebro

在单机上利用docker容器运行多个es实例来模拟es集群。部署es集群可以直接使用docker-compose来完成,但要求Linux虚拟机至少有4GI的内存空间。&quot;number_of_replicas&quot;: 1 // 副本数。&quot;number_of_shards&quot;: 3,// 分片款量。kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。第一种方式:利用kibana的DevTools创建索引库 ,在DevTools中输入指令。第二种方式:利用cerebro创建索引库。

详解静态网页数据获取以及浏览器数据和网络数据交互流程-Python

在网站设计领域,基于纯HTML格式构建的网页通常定义为静态网页,这种类型的网页是早期网站建设的主要形式。对于网络爬虫来说,抓取静态网页中的数据相对较为简单,因为所需的所有信息都直接嵌入在网页的HTML代码里。然而,对于那些利用AJAX技术动态加载数据的网页,其数据并不总是直接出现在HTML代码中,这对爬虫的抓取工作造成了一定的难度。在静态网页的数据抓取过程中,Requests库显示出其卓越的实用性。这个库不仅功能全面,而且操作简洁直观。

Hadoop之MapReduce 详细教程

为了开发我们的 MapReduce 程序,一共可以分为以上八个步骤,其中每个步骤都是一个 class 类,我们通过 job 对象将我们的程序组装成一个任务提交即可。为了简化我们的 MapReduce 程序的开发,每一个步骤的 class 类,都有一个既定的父类,让我们直接继承即可,因此可以大大简化我们的 MapReduce 程序的开发难度,也可以让我们快速的实现功能开发。MapReduce 编程当中,其中最重要的两个步骤就是我们的 Mapper 类和 Reducer类Mapper 抽象类的基本介绍。

Jupyter Notbook+cpolar内网穿透实现公共互联网访问使用数据分析工作

在数据分析工作中,使用最多的无疑就是各种函数、图表、代码和说明文档,这些复杂的内容不仅让使用的人头晕脑胀,也让普通的聊天工具一脸蒙圈。沟通工具不给力,就没法协同办公,可数据分析又离不开多人配合,所以Jupyter Notebook就成为大部分数据工作人员的必备工具。正如之前所说,Jupyter Notebook很适应复杂内容的沟通,因此现在也在机器学习、深度学习和教育工作中获得广泛应用。但Jupyter Notebook也有缺陷,就是被局限在局域网范围。

如何在Spring Boot中优雅地进行参数校验

在Java中,注解(Annotation)是一种代码标记,通常用于提供元数据,这些元数据可以被编译器或运行时环境使用。这些注解通常用于框架和库中,以实现更加灵活和可配置的代码。

Python使用多线程解析超大日志文件

使用Python的多线程技术可以有效地提高处理超大日志文件的效率。但在实际应用中需要注意多线程编程中的各种问题,如线程管理、资源管理、错误处理等。通过合理的优化和调整可以提高程序的性能和稳定性。

基于Python Django的内容管理系统Wagtail CMS部署与公网访问

Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail是一个基于Django的开源内容管理系统,拥有强大的社区和商业支持。它专注于用户体验,并为设计人员和开发人员提供精确控制。它能快速实现页面的表达,对于我这种对新实现的功能想要找到地方进行展示,但前端能力又不太行的同学基于django 一直会对django的稳定版本进行支持Wagtail由开发人员为开发人员构建。

Python将列表中的数据写入csv并正确解析出来

用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写进去以后取出有些字段会有变化有些坑还是要避免。本文通过实例来介绍如何将列表中的数据写入文件如csv并正确解析出来使用。

【Java 基础篇】Java TCP通信详解

本文介绍了Java中如何使用TCP协议进行网络通信,包括TCP的基础知识、TCP编程的基本步骤、创建TCP服务器和客户端、数据传输等内容。通过学习本文,您可以开始使用TCP协议来构建自己的网络应用程序,实现可靠的数据传输。希望本文能够帮助您更好地理解和应用Java中的TCP通信。

【Java 基础篇】Java网络编程实战:P2P文件共享详解

P2P(Peer-to-Peer)文件共享是一种分布式计算模型,其中每个计算机或设备都可以充当客户端和服务器。这意味着每台计算机都可以上传和下载文件,而不仅仅是从一个中心服务器获取文件。P2P文件共享有许多优势,包括更快的下载速度、更高的可用性和更好的容错性。P2P文件共享是一种强大的分布式文件共享模型,可以提供更快的下载速度和更好的可用性。通过使用Java网络编程,我们可以实现P2P文件共享,让不同的客户端之间可以方便地共享文件。

【Java 基础篇】Java实现文件搜索详解

本文介绍了如何使用Java实现文件搜索功能。我们讨论了文件搜索的基本概念,以及使用递归和广度优先搜索两种常见的搜索方法。此外,还介绍了一些进阶功能,如搜索文件内容和过滤文件类型。在实际应用中,您可以根据需要定制和扩展文件搜索功能,以满足特定的要求。希望本文对您在Java文件搜索方面的工作和学习有所帮助。

【Java 基础篇】Java网络编程:下载进度监控实现详解

下载进度监控是一种用户界面元素或功能,用于显示文件下载的实时进度。通常以百分比的形式显示已下载的数据量与总数据量的比例,让用户知道下载的进展情况。实现下载进度监控的关键是获取已下载数据的大小并将其与总数据大小进行比较,然后将结果以可视化的方式呈现给用户。下载进度监控是提高文件下载体验的重要组成部分。通过合理设置Range头部请求,并在用户界面上显示下载进度,您可以实现有效的下载进度监控功能。此外,要注意异常处理和性能,以提供更好的用户体验。

【Java 基础篇】Java Lambda表达式详解

Lambda表达式,也称为闭包,是一种匿名函数,它可以传递到方法作为参数,并且可以在方法中使用。它是Java 8引入的一个新特性,用于简化代码的编写,特别是在使用函数式接口时。匿名性:Lambda表达式没有显式的名称,因此可以被当做一种匿名函数使用。简洁性:Lambda表达式可以大大减少代码的冗余,使代码更加简洁。传递性:Lambda表达式可以作为参数传递给方法,从而实现更灵活的代码组织。除了Java标准库中的函数式接口,您还可以定义自己的函数式接口,以适应特定的需求。// 结果为8。

【Java 基础篇】Java方法引用详解

方法引用是一种强大的功能,使得代码更加简洁和可读。在Java中,您可以引用类方法、对象的实例方法、类的实例方法和构造器,以适应不同的用例和需求。方法引用与Lambda表达式一起,为函数式编程提供了更多的灵活性和表达能力。希望本文的介绍对您理解和使用方法引用有所帮助。

【Java 基础篇】Java 接口组成与更新详解

在Java编程中,接口(interface)是一种非常重要的概念。它允许类定义一组抽象方法,这些方法可以在不同的类中实现。接口在Java中起到了重要的角色,被广泛应用于代码的组织和设计中。本文将详细解释Java接口的组成和最新的更新,包括默认方法、静态方法、私有方法以及接口的使用场景。

【Java 基础篇】Java函数式接口详解

函数式接口是指仅包含一个抽象方法的接口。在Java中,函数式接口用注解来标识,这个注解不是强制性的,但建议使用它来确保接口符合函数式接口的定义。函数式接口的关键特点是可以被Lambda表达式所实现。Lambda表达式是一种紧凑的语法,用于创建匿名函数,从而更容易地传递函数行为作为参数。函数式接口与Lambda表达式结合使用,可以实现更简洁和可读性强的代码。在这个示例中,Calculator是一个函数式接口,因为它只包含一个抽象方法calculate。

【Java 基础篇】Java Supplier 接口详解

Supplier接口是Java中用于表示供应商的函数式接口,它通常用于延迟计算或生成值的场景。本文介绍了Supplier接口的基本用法,包括创建Supplier实例、使用方法引用、惰性计算和处理异常。使用Supplier接口可以使代码更加灵活和易于维护,特别是在需要生成值或进行惰性计算的情况下。希望本文能够帮助你更好地理解和应用Supplier接口,从而提高Java编程的效率和质量。如果你对Java函数式编程还有更多疑问,可以进一步深入学习,掌握更多高级特性和用法。

【Java 基础篇】Java Consumer 接口详解

Consumer是Java 8中的一个函数式接口,它位于包中。它定义了一个名为accept的抽象方法,该方法接受一个参数并且不返回任何结果。换句话说,Consumer接口表示一个消费者,它可以对给定的对象执行某些操作,但不产生任何结果。ConsumerT是Consumer接口的泛型类型参数,表示输入类型。Consumer接口是Java 8中引入的一个函数式接口,用于表示一个消费者,它接受一个输入并执行某些操作。它在集合操作、数据处理、对象配置和异常处理等场景中非常有用。通过学习Consumer。

100天精通Python(可视化篇)——第101天:Pyecharts绘制多种炫酷仪表盘图参数说明+代码实战

一、仪表盘图介绍 1. 仪表盘图是什么? 2. 仪表盘图应用场景二、仪表盘图类配置选项 1. 导包 2. add函数 3. 仪表盘标题配置 4. 仪表盘数据内容配置 5. 仪表盘进度条配置 6. 仪表盘指针指针配置 7. 仪表盘标记点配置三、仪表盘图实战 1. 基础仪表盘图 2. 改变轮盘内的字体 3. 修改仪表盘不同区间颜色 4. 修改仪表盘刻度分割段数 5. 修改仪表盘半径大小

深度解析NLP文本摘要技术:定义、应用与PyTorch实战

在本文中,我们深入探讨了自然语言处理中的文本摘要技术,从其定义、发展历程,到其主要任务和各种类型的技术方法。文章详细解析了抽取式、生成式摘要,并为每种方法提供了PyTorch实现代码。最后,文章总结了摘要技术的意义和未来的挑战,强调了其在信息过载时代的重要性。
返回
顶部