Task01:Pandas基础

太美了!现代女主jk海军风穿搭四视图 哪个女孩子初高中的时候不买几套JK衣服啊,穿上完全是青春女孩。那还愣着干啥,不得也给你的漫剧女主也穿上!直接就是分享三套JK穿搭,红棕双麻花辫配经典水手服,是那种乖乖巧巧的元气学妹;粉色羊毛卷双马尾,搭配蝴蝶结和小挎包甜度直接拉满;还有灰棕色侧麻花辫,浅蓝上衣配黑色百褶裙,温柔里又带点小酷。下面把这三套角色的完整提示词分享出来,喜欢哪套就拿去参考,改改发型和配色,还能继续解锁新角色! 阅读详情

教程来源:https://github.com/datawhalechina/joyful-pandas
理论部分
1.掌握常见文件格式的读写操作
2.理解并熟悉 Series 和 DataFrame 的重要属性和重要方法
3.掌握各类排序(索引排序和值排序、单级排序和多级排序)
练习部分
1.《权利的游戏》剧本数据集分析
2.科比投篮数据集分析

拿到数据必然先要读取它,分析完了数据必然是要保存它,读取了数据之后,我们面对了怎样的对象(Series? or Dataframe?)是第一重要的课题,因此了解序列和数据框的常规操作及其组件(component)便是必须涉及的内容

以下为全部学习代码:
分为四个部分:
一、文件读取与写入
二、基本数据结构
三、常用基本函数
四、排序

#Task01:Pandas基础
import pandas as pd
import numpy as np
#查看pandas版本
pd.__version__
#一、文件读取与写入
#1. 读取
#(a)csv格式
df = pd.read_csv('data/table.csv')
df.head()
#(b)text格式
df_text=pd.read_table('data/table.txt')
df_text
#(c)xls或xlsx格式
df_excel=pd.read_excel('data/table.xlsx')
df_excel.head()
#2.写入
#(a)csv格式
df.to_csv('data/new_table.csv')
#df.to_csv('data/new_table.csv', index=False) #保存时除去行索引
#(b)xls或xlsx格式
#需要安装openpyxl
df.to_excel('data/new_table2.xlsx', sheet_name='Sheet1')
#二、基本数据结构
#1. Series
#(a)创建一个Series
#对于一个Series,其中最常用的属性为值(values),索引(index),名字(name),类型(dtype)
s = pd.Series(np.random.randn(5),index=['a','b','c','d','e'],name='这是一个Series',dtype='float64')
s
#(b)访问Series属性
s.values
s.name
s.index
s.dtype
#2. DataFrame
#(a)创建一个DataFrame
df = pd.DataFrame({'col1':list('abcde'),'col2':range(5,10),'col3':[1.3,2.5,3.6,4.6,5.8]},
                 index=list('一二三四五'))
df
#(b)从DataFrame取出一列为Series
df['col1']
type(df)
type(df['col1'])
#(c)修改行或列名
df.rename(index={'一':'one'},columns={'col1':'new_col1'})
#(d)调用属性和方法
df.index
df.columns
df.values
df.shape
df.mean()##本质上是一种Aggregation操作,将在第3章详细介绍
#(e)索引对齐特性
#这是Pandas中非常强大的特性,不理解这一特性有时就会造成一些麻烦
df1 = pd.DataFrame({'A':[1,2,3]},index=[1,2,3])
df2 = pd.DataFrame({'A':[1,2,3]},index=[3,1,2])
df1-df2 #由于索引对齐,因此结果不是0
#(f)列的删除与添加
#对于删除而言,可以使用drop函数或del或pop
df.drop(index='五',columns='col1') #设置inplace=True后会直接在原DataFrame中改动
#或者del
df['col1']=[1,2,3,4,5]
del df['col1']
df
#或者,pop方法直接在原来的DataFrame上操作,且返回被删除的列,与python中的pop函数类似
df['col1']=[1,2,3,4,5]
df.pop('col1')
df
#可以直接增加新的列,也可以使用assign方法
df1['B']=list('abc')
df1
df1.assign(C=pd.Series(list('def')))
df1 #但assign方法不会对原DataFrame做修改
#(g)根据类型选择列
df.select_dtypes(include=['number']).head()
df.select_dtypes(include=['float']).head()
#(h)将Series转换为DataFrame
s = df.mean()
s.name='to_DataFrame'
s
s.to_frame()
#使用T符号可以转置
s.to_frame().T
#三、常用基本函数
#从下面开始,包括后面所有章节,我们都会用到这份虚拟的数据集
df = pd.read_csv('data/table.csv')
#1. head和tail
df.head()
df.tail()
#可以指定参数n显示多少行
df.head(3)
#2. unique和nunique
#nunique显示有多少个唯一值
df['Physics'].nunique()
#unique显示所有的唯一值
df['Physics'].unique()
#3. count和value_counts
#count返回非缺失值元素的个数
df['Physics'].count()
#value_counts返回每个元素有多少个
df['Physics'].value_counts()
#4.describe和info
#info函数返回有哪些列、有多少非缺失值、每列的类型
df.info()
#describe默认统计数值型数据的各个统计量
df.describe()
#可以自行选择分位数
df.describe(percentiles=[.05, .25, .75, .95])
#对于非数值型也可以用describe函数
df['Physics'].describe()
#5.idxmax和nlargest
#idxmax函数返回最大值,在某些情况下特别适用,idxmin功能类似
df['Math'].idxmax()
#nlargest函数返回前几个大的元素值,nsmallest功能类似
df['Math'].nlargest(3)
#6. clip和replace
#clip和replace是两类替换函数¶
#clip是对超过或者低于某些值的数进行截断
df['Math'].head()
df['Math'].clip(33,80).head()
df['Math'].mad()
#replace是对某些值进行替换
df['Address'].head()
df['Address'].replace(['street_1','street_2'],['one','two']).head()
#通过字典,可以直接在表中修改
df.replace({'Address':{'street_1':'one','street_2':'two'}}).head()
#7. apply函数
#apply是一个自由度很高的函数,在第3章我们还要提到
#对于Series,它可以迭代每一列的值操作:
df['Math'].apply(lambda x:str(x)+'!').head() #可以使用lambda表达式,也可以使用函数
#对于DataFrame,它可以迭代每一个列操作:
df.apply(lambda x:x.apply(lambda x:str(x)+'!')).head() #这是一个稍显复杂的例子,有利于理解apply的功能
#四、排序
#1. 索引排序
df.set_index('Math').head() #set_index函数可以设置索引,将在下一章详细介绍
df.set_index('Math').sort_index().head() #可以设置ascending参数,默认为升序,True
#2.值排序
df.sort_values(by='Class').head()
#多个值排序,即先对第一层排,在第一层相同的情况下对第二层排序¶
df.sort_values(by=['Address','Height']).head()

课后问题与练习:
【问题一】 Series和DataFrame有哪些常见属性和方法?
【答】查看第三部分基本数据结构Series和DataFrame。
series是一种类似于一维数组的对象,由一组数据和一组标签(index)组成。一组数据也可以产生简单的series对象。dataframe是pandas中的一个表格型数据结构,有行索引也有列索引,可以看做事series组成的字典。
【问题二】 value_counts会统计缺失值吗?
【答】不会。value_counts返回每个元素有多少个,并不包含缺失值
【问题三】 与idxmax和nlargest功能相反的是哪两组函数?
【答】idxmin和nsmallest。
【问题四】 在常用函数一节中,由于一些函数的功能比较简单,因此没有列入,现在将它们列在下面,请分别说明它们的用途并尝试使用sum/mean/median/mad/min/max/abs/std/var/quantile/cummax/cumsum/cumprod
【答】求和/求平均值/求中位数/求平均绝对方差(Mean absolute deviation)/求最小值/求最大值/求绝对值/求标准差(Bessel-corrected sample standard deviation)/求方差(Unbiased variance)/求分位数(sample quantile value at %)/求累最大值(cumulative maximum)/求累加(cumulative sum)/求累乘(cumulative product)
【问题五】 df.mean(axis=1)是什么意思?它与df.mean()的结果一样吗?第一问提到的函数也有axis参数吗?怎么使用?
【答】axis=1’行’,默认为0即’列’,因此结果不同

Midscene.js(1):Chrome 插件实战之基于 AI 驱动 WEB UI 自动化测试「喂饭教程」 Midscene.js 是一款开源的AI驱动UI自动化工具,支持自然语言交互、数据提取、断言验证等多种功能。自然语言交互。本文将以 Midscene.js Chrome 插件为例,带你从零上手,体验如何用最简单的方式实现高效、智能的UI自动化测试。 阅读详情

相关推荐

华为昇腾Atlas 200I DK A2实战:从开箱到运行首个AI应用

本文详细介绍了华为昇腾Atlas 200I DK A2开发板从开箱到运行首个AI应用的全过程。包括硬件准备、系统烧录、开发板连接方案、AI应用运行及性能优化技巧,帮助开发者快速上手部署AI项目,提升开发效率。

weixin_27038245的博客 594

pandas中Series和Dataframe的排序操作

对pandas中的Series和Dataframe进行排序,主要使用sort_values()和sort_index()。 DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’) by:列名,按照某列排序 axis:按照index排序还是按照colu...

我是小蚂蚁 6249

vesta软件_分子动力学计算实战:利用 OVITO 软件找弗伦克尔缺陷和位错环分析

今天继续和大家分享这篇纯分子动力学(MD)的 Nat. Comm. 文章(DOI:10.1038/s41467-018-07102-3)。上期推文(从一篇 Nat. Comm. 学习经典分子动力学基本知识和相关软件基本操作 (一)),我们借用该文章的 fig.1 简单介绍了如何用文中所提到的 LAMMPS 软件来实现材料中级联碰撞过程。但是,想完整的展示类似该文章的 fig.1,单纯利用...

weixin_39524842的博客 5983

pandas task01

pandas基础 一、文件的读取与写入 文件读取:pandas.read_文件格式,eg:pandas.read_csv(’/data.csv’) 文件写入:pandas.to_文件格式,eg:pandas.to_csv(‘data/new_table.csv’) #读取 df = pd.read_csv('work/table.csv') df.head()#默认查看前五行,想看n行的话就在括号...

zigzag_gy的博客 367

Cadence仿真笔记(二):传统noise仿真—共源极的噪声

cadence中进行传统噪声仿真

Bao_xue的博客 1万+

单细胞分析(16)—— RNA Velocity 分析流程

RNA velocity 是一种强大的单细胞转录组分析工具,它可以预测细胞的未来状态,揭示发育轨迹,并用于探索细胞状态转换。RNA velocity 是一种通过单细胞 RNA 测序(scRNA-seq)数据推测细胞未来状态的分析方法。🚀**RNA velocity 提供了一个全新的角度来理解细胞的动态变化,为单细胞转录组分析带来了更深入的时空信息!

阅读文献,记录学习笔记 2982

DataWhale——Task01:Pandas基础

学习内容分为以下两个部分: - 理论部分 1. 掌握常见文件格式的读写操作 2. 理解并熟悉 Series 和 DataFrame 的重要属性和重要方法 3. 掌握各类排序(索引排序和值排序、单级排序和多级排序) - 练习部分 1. 《权利的游戏》剧本数据集分析 2. 科比投篮数据集分析

Katniss的Blog 535

DaVinci Developer和DaVinci Configurator:AutoSAR开发与配置工具

a. 组件创建:DaVinci Developer允许开发人员创建不同类型的AutoSAR软件组件,如应用软件组件(Application Software Component,SWC)、基础软件组件(Basic Software Component,BSWC)等。除了以上功能,DaVinci Developer和DaVinci Configurator还提供了丰富的文档和代码生成功能,以支持开发人员和配置人员进行文档编写、代码生成和文档浏览等任务。用户可以根据具体需求对软件组件进行灵活的配置。

HmoaAmp的博客 2263

Task01-pandas

今天学到了新内容~pandas基础知识 1.读取txt文件 df_txt = pd.read_table('/table.txt') df_txt 2.series属性以前并不了解,现在看了还是有点懵 s = pd.Series(np.random.randn(5),index=['a','b','c','d','e'],name='这是一个Series',dtype='float64') ...

mimiGUO的博客 340

计算图像哈希SHA-512

上述需要将lena.jpg放在当前目录下。

计算机视觉之光 961

精度与速度双突破:YOLOv8-Pose 在 RK3588 上实现高性能人体姿态分析部署

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

know_F0727的博客 435

TASK01|pandas基础

pandas中与库版本或依赖库版本相关的API主要有以下4个: pandas.version:查看pandas简要版本信息。 pandas.git_version:查看pandasgit版本信息。 pandas._version.get_versions():查看pandas详细版本信息。 pandas.show_versions():查看pandas及其依赖库的版本信息。head, tail 函数分别表示返回表或者序列的前 n 行和后 n 行,其中 n 默认为5 info, describe 分别返回表的

m0_52024881的博客 331

如何调试10G/25G以太网IP自协商/Link Training

如果是40G/50G, 100G以太网,选的是多通道的IP,务必保证两端的通道0是正确对接上的,因为在做自协商的时候,以太网只使用通道0,其它通道需在自协商完成后再加入工作。b. 自协商的工作完全由IP自动完成的,所以只要配置没问题,你只需要耐心等待就可以看到自协商的完成,以an_good_check为标志,并且进入下一步linktraining。c. 在LT的过程中,首先你要等到IP能够锁定LT帧,即frame_lock拉高,然后你就可以进行你自己的LT算法了,与AN不同LT是由客户手动完成的。

qq_43416206的博客 1510

【Task01】Pandas之预备知识

前言 先看Pandas的百科介绍 pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 所以学好Python原生和Numpy对于学习Pandas很重要,在这一章节我们主要介绍Python和Numpy的一些比较重要的知识。 一、Python基础 语法糖

Xiao_Spring的博客 2711

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Pandas数据分析 ——Task01:Pandas基础

Pandas基础:准备工作:Pandas包的下载(Mac下) | 一、数据的读取和写入 | 二、基本数据结构及其基本操作 | 三、常用基本函数 | 四、排序 | 五、问题与练习

nanashi_F的博客 545

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pandas学习-Task01

01-预备知识1.1 python基础1.1.1 列表推导式与条件赋值1.1.2 匿名函数与map方法1.1.3 zip对象与enumerate方法1.2 Numpy基础1.2.1 np数组1.2.2 np数组的运算1.2.3 np数组的切片与索引1.2.4 常用函数1.2.5 广播机制1.2.6 向量与矩阵的计算参考 1.1 python基础 1.1.1 列表推导式与条件赋值 列表推导式结构:[* for i in *] 其中第一个*为映射函数,其输入为后面i指代的内容,第二个*表示要迭代的对象(集合

weixin_45501561的博客 180

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Pandas_Task01:预备知识

学习目标: python基础 学习内容: 提示:这里可以添加要学的内容 例如: 1、 python基础 2、 pandas基础 遗漏的python知识 map函数:它返回的是一个 map 对象,需要通过 list 转为列表: map(function, iterable, ...) list(map(lambda x: 2*x, range(5)))#e.g. numpy总结 可在这里下载 练习题自己的想法 #作业 M1 = np.random.rand(2,3) M2 = np.rand

DMax13的博客 264

Pandas学习-Task01

Datawhale开源学习内容的链接:https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html 本次笔记是针对自己的情况,记录一些自己之前不会或不熟悉的内容,以及一些有启发的内容。 共分为两个板块,第一个板块是,纯粹的知识内容;第二个板块是练习题,记录自己的思路与习题答案。 一、知识整理 1、map函数的用法 map函数的原型是map(function, iterable, …),它的返回结果是

Lyndsey的博客 376

DataWhale之task01-pandas基础

import numpy as np import pandas as pd sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000} example_1 = pd.Series(sdata) example_1 Ohio 35000 Texas 71000 Oregon 16000 Utah 5000 dtype: int64 data = {'state': ['Ohio', '

qq_41702232的博客 210

pandas学习下 - Task01

【问题一】 如何删除缺失值占比超过25%的列? df.info()获取缺失值占比, 然后通过drop 一个个删除 自定义一个函数,通过df[col].isna().sum()获取某列的缺失值数量, 然后除以行数,大于25%就删除该列 【问题二】 什么是Nullable类型?请谈谈为什么要引入这个设计? 原来处理缺失值的时候没考虑清楚,导致包含缺失值的时候出现问题,比如把数值转换成float,把字符转换成object等。因此为了不影响原代码的基础上,新增了一个能很好的处理缺失值的类nullable,类型命名分

qq_41760902的博客 294

【Pandas学习笔记Task01】:python基础

【Pandas学习笔记Task01】:python基础前言python基础列表推导式与条件赋值隐匿函数和map()zip()与enumerate()numpy基础构造np数组np数组的转置与合并np数组的切片与索引np数组的常用函数练习EX1 利用列表推导式写矩阵乘法EX2 更新矩阵EX3 卡方统计量EX4 改进矩阵计算性能EX5 求最大连续整数的长度 前言 python基础 列表推导式与条件赋值 列表推导式是用来简化代码书写的,需要有表达式,用于列表赋值;需要for循环,用于提供值。他还可以结合相关条件赋

m0_47105444的博客 374

pandas缺失值处理-task01

pandas 缺失值处理1.缺失值种类1.1 令人头秃的np.nan1.2 基本见不到的None1.3 时间缺失项NaT2.新特性2.1 解决缺失值改变数据类型的问题3.缺失值插值 1.缺失值种类 pandas中缺失值有三种,np.nan,None,及针对时间的缺失值类型,NaT,下面分开讲解这三种类型。 1.1 令人头秃的np.nan 首先是np.nan,由于pandas是基于Numpy的,Numpy的缺失值类型就是pandas最常见的缺失值类。但这个np.nan有大量问题,分下面几点。 np.nan什

hu_hao的博客 730

Datawhale Pandas Task01 预备知识

一、Python基础 1. 列表推导式与条件赋值 在生成一个数字序列的时候,在 Python 中可以如下写出: L = [] def my_func(x): return 2*x for i in range(5): L.append(my_func(i)) L [0, 2, 4, 6, 8] 事实上可以利用列表推导式进行写法上的简化: [* for i in *] 。其中,第一个 * 为映射函数,其输入为后面 i 指代的内容,第二个 * 表示迭代的对象。 [my_func(i) fo

weixin_46121449的博客 471

Pandas学习_task 01预备知识

学习目标: 一个月掌握 Pandas入门与实践 学习目录: 提示:这里可以添加要学的内容 例如: 一、Python基础 1.列表推导式与条件赋值 2.匿名函数与map方法 3.zip对象与enumerate方法 二、numpy基础 1.Numpy数组的构造 2.Numpy数组的变形于合并 3.Numpy数组的切片于索引 4.常用函数 5.广播机制 6.向量与矢量的计算 三、练习 1.EX1: 利用列表推导式写矩阵乘法 2.EX2:更新矩阵 3.EX3:卡方统计量 4.EX4:改进矩阵计算性能 5

paletteboo的博客 386

编程实践(Pandas) Task01

1. PIP安装第三方库 pip install + 包名 #安装包 pip uninstall + 包名 #卸载包 pip freeze #查看已安装的包及其版本 pip list --outdated #查看可升级的包 pip install -U <包名> #升级指定包(包括pip本身) python -m pip install --upgrade pip #升级pip版本 2. Python基础 2.1 列表推导式 案例中给出的初始写法: L = [] def my_func

Daisy的博客 278

Pandas基础学习 Task01:Pandas基础(知识梳理脑图+全部资源教程)

Pandas基础学习 现在学习喜欢用脑图的方式,知识点清晰明了,易于查找和复习,希望也可以帮助大家梳理知识脉络。

RexT1的博客 703
上一篇: 二手车交易价格预测:模型融合
下一篇: 机器学习算法基础-Task1 Linear Regression
Simone_future
博客等级 码龄7年 0粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值