首页 > 编程语言 >成品app直播源码搭建,常用数据处理手段代码分析

成品app直播源码搭建,常用数据处理手段代码分析

时间:2024-08-03 09:16:58浏览次数:14  
标签:tmp java name df app DataFrame python 源码 数据处理

成品app直播源码搭建,常用数据处理手段代码分析

数据合并

数据准备
首先定义一个 DataFrame 数据集:

import pandas as pd

df_a = pd.DataFrame(columns=['name', 'rank'], data=[['C', 1], ['java', 2], ['python', 3], ['golang', 4]])
df_b = pd.DataFrame(columns=['name', 'year'], data=[['java', 2020], ['python', 2021], ['golang', 2022]])

 

通过 merge() 方法能对DataFrame数据集进行合并,通过内连接、外连接、左连接、右连接等方式,如下实例:

merge方法默认是内连接取交集,通过 how 指定连接类型,on 指定连接字段

# 通过指定 columns 中的 name 内连接
df_tmp = pd.merge(df_a, df_b, on='name', how='outer')
print(df_tmp)

# ========打印========
     name  rank  year
0    java     2  2020
1  python     3  2021
2  golang     4  2022

 

# 通过指定 columns 中的 name 左连接
df_tmp = pd.merge(df_a, df_b, on='name', how='left')
print(df_tmp)

# ========打印========
     name  rank    year
0       C     1     NaN
1    java     2  2020.0
2  python     3  2021.0
3  golang     4  2022.0

 

# 通过指定 columns 中的 name 右连接
df_tmp = pd.merge(df_a, df_b, on='name', how='right')
print(df_tmp)

# ========打印========
     name  rank  year
0    java     2  2020
1  python     3  2021
2  golang     4  2022

 

# 如果合并两个 DataFrame 不含公共的 columns ,可以直接指定匹配的字段
df_c = pd.DataFrame(columns=['name1', 'year'], data=[['java', 2020], ['python1', 2021], ['golang1', 2022]])
df_tmp = pd.merge(df_a, df_c, left_on='name', right_on='name1')
print(df_tmp)

# ========打印========
   name  rank name1  year
0  java     2  java  2020

 

数据分组

数据准备
首先定义一个 DataFrame 数据集:

import pandas as pd

df_a = pd.DataFrame(columns=['name', 'nums'], data=[['python', 1], ['java', 2], ['python', 3], ['java', 4]])

 

通过 group() 方法能对DataFrame数据集进行分组操作,分组后还能进行求和、取平均值等操作,如下实例:

# 获取分组后的数据集中每个数据的数量
df_tmp = df_a.groupby('name').size()
print(df_tmp)

# ========打印========
name
java      2
python    2
dtype: int64

 

# 将分组后的数据集,根据 nums 字段进行求和
df_tmp = df_a.groupby('name')['nums'].sum()
print(df_tmp)

# ========打印========
name
java      6
python    4
Name: nums, dtype: int64

 

# 获取分组后的数据集的大小
df_tmp = df_a.groupby('name').size()
print(df_tmp)

# ========打印========
name
java      3
python    2
Name: nums, dtype: int64

 

数据拆分

数据准备
首先定义一个 DataFrame 数据集:

import pandas as pd

df_a = pd.DataFrame(columns=['name', 'rank'], data=[['C_no1', 1], ['java_no2', 2], ['python_no3', 3], ['golang', 4]])

 

通过 split() 方法能对DataFrame数据集中某列数据进行拆分操作,如下实例:

# 数据拆分,对 columns 中的某列的数据某个符号匹配拆分,expand:为True可以直接将分列后的结果转换成DataFrame
df_tmp = df_a['name'].str.split('_', 1, expand=True)
print(df_tmp)

# ========打印========
        0     1
0       C   no1
1    java   no2
2  python   no3
3  golang  None

 

# 数据拆分,对拆分后的数据再次与原数据合并
df_tmp = pd.merge(df_a, df_a['name'].str.split('_', 1, expand=True), how='left', left_index=True, right_index=True)
print(df_tmp)

# ========打印========
         name  rank       0     1
0       C_no1     1       C   no1
1    java_no2     2    java   no2
2  python_no3     3  python   no3
3      golang     4  golang  None

 

数据可视化

在使用 Pandas 处理数据的过程中,为了更直观的展示数据的线性关系,我们可以引入 matplotlib 库将我们的数据变成相关图形

# plot() 方法生成相应的线性图形
df_a = pd.DataFrame(columns=['name', 'rank'], data=[['C_no1', 1], ['java_no2', 2], ['python_no3', 3], ['golang', 4]])
df_a.plot()

 

 


以上就是成品app直播源码搭建,常用数据处理手段代码分析, 更多内容欢迎关注之后的文章

标签:tmp,java,name,df,app,DataFrame,python,源码,数据处理
From: https://www.cnblogs.com/yunbaomengnan/p/18340034

相关文章

  • 159.336 application for Android
    159.336Assignment1Due14thAugust2024ForthisassignmentyouneedtowriteasimpledialerapplicationforAndroidtomakephonecalls.ThedialermusthavethefollowingUIelements:Anumberdisplaytoshowthephonenumberwhichwillbecalled.A......
  • Python应用开发——30天学习Streamlit Python包进行APP的构建(23):构建多页面应用程序
    创建动态导航菜单通过st.navigation,可以轻松创建动态导航菜单。您可以在每次重新运行时更改传递给st.navigation的页面集,从而更改与之匹配的导航菜单。这是创建自定义、基于角色的导航菜单的便捷功能。本教程使用st.navigation和st.Page,它们是在Streamlit1.36.0版中......
  • Java HashMap 源码解读笔记(二)--xunznux
    文章目录HashMapputVal插入新值方法方法解读1.7和1.8有哪些区别resize重新哈希方法treeifyBin树化方法treeify树化方法untreeify链化方法HashMap本文主要是用于记录我在阅读Java1.8的HashMap源码所做的笔记。对于源码中的注释会进行翻译下来,并且会对其中部......
  • Java HashMap 源码解读笔记(一)--xunznux
    文章目录HashMap介绍实现说明:源码解读静态常量和内部节点类Node静态工具方法属性字段Fields未完待续。。。HashMap本文主要是用于记录我在阅读Java1.8的HashMap源码所做的笔记。对于源码中的注释会进行翻译下来,并且会对其中部分源码进行注释。这一篇文章主要......
  • 基于Java养老院管理系统设计和实现(源码+LW+调试文档+讲解等)
    详细视频演示:请联系我获取更详细的演示视频系统技术介绍:后端框架SpringBootSpringBoot内置了Tomcat、Jetty和Undertow等服务器,这意味着你可以直接使用它们而不需要额外的安装和配置。SpringBoot的一个主要优点是它的自动配置功能。它可以根据你的项目中的依赖关......
  • Springboot计算机毕业设计“漫画之家”系统+程序+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,漫画,同人插画,漫画活动,商品,约稿,约稿公告开题报告内容一、选题的背景及意义1.1背景随着科学技术的飞速发展和互联网的普及,漫画作为一种独特的艺术......
  • mybatis-plus 自定义sql拼接 的方式进行Wrapper条件查询 实现了分页 多表查询
    法一:用单表的思想(可以跳过,直接看法二)方法:先收集公共字段到集合中,再批量查询,然后封装起来缺点:相较于法二,代码量大,多访问了一次数据库service层:@Service@RequiredArgsConstructorpublicclassProductServiceImplextendsServiceImpl<ProductMapper,Product>implements......
  • 苹果cmsv10酷黑模板模板 视频网站源码自适应模板【带有广告位】
    探索苹果CMSV10酷黑模板:打造高端自适应视频网站的完美选择在当今数字化时代,视频网站已成为人们休闲娱乐、获取信息的重要渠道之一。而一个精美、高效且用户友好的视频网站模板,则是吸引访客、提升用户体验的关键。今天,我们将带您深入了解苹果CMSV10的酷黑模板,这款集美观性、......
  • (爆款)视频APP系统源码(功能强大,界面大气,比任何知识付费视频系统都要强)
    (爆款)视频APP系统源码:重塑视频娱乐新纪元在数字娱乐的浩瀚星空中,一款视频APP系统源码如同璀璨的新星,以其功能之强大、界面之大气,脱颖而出,成为市场瞩目的焦点。这款被誉为“爆款”的视频APP系统源码,不仅超越了传统视频平台的界限,更是在知识付费视频系统的基础上实现了质的飞跃,为......
  • CSAPP笔记:Lecture 02 Bits, Bytes and Integer
    位移操作二进制优势在于容易表示、抗干扰等,在表示模拟信号的时候也有优势。运算符&,|,!&&,||,!!>>,<<:位移运算又分为逻辑位移、算术位移,其中理解算数右移需要理解计算机内如何表示负数.位移实验移动的位数等于int的位数(4bytes*8=32bis),结果不变。如果是3......