pandas外文文档快速入门

pandas资源可以在github中进行查询

特点:

1、基于numpy库进行开发

2、主要处理一维、二维的数据

3、可以处理sql,execl,时间表等复杂数据结构

导言
创建一维、二维表

创建的表格其实会和二维表很像

假设我们存储一些数据

其中,{}内使用的是python中的字典,则keys(name,age,sex)会被设置为列名。

对dataframe和series进行操作

需要操作的表 +对应的列+对应的函数

则可得:

表[   列   ]+函数():

一键计算功能

describe()方法:

#注意仅对数字类型的数据执行

未指定则是对所有数字类型的数据进行计算

也可以指定需要处理的

如何读写表格数据(sql、execl)
读操作:read_XXX()方法:csv, excel, sql, json, parquet, 

例子:

基础操作:

dataframe.head(nums)#读取前nums行

dataframe.tail(nums)#读取后nums行

dtypes,各列的数据类型

写操作:dataframe.to_XXX()

选择dataframe中的列/行
选择列

选择单列

name of dataframe【列名】

titanic["Age"]

选择多列

多列我们可以通过类比python中list中嵌套字典的用法

多列则可以写作:

age_sex = titanic[["Age", "Sex"]]
选择行

对数字类型进行比较

above_35 = titanic[titanic["Age"] > 35]

同样可以使用< <= != 等进行比较

类正则表达式的使用

isin

titanic[titanic["Pclass"].isin([2, 3])]//例子中表示Pclass中在2或者3的例子

或者进行条件判断类似于上面

class_23 = titanic[(titanic["Pclass"] == 2) | (titanic["Pclass"] == 3)]
#使用|表示或
选择特定行和列
loc/iloc函数的使用:

loc(columns.case,columns.targets)

case表示筛选条件,targets表示需要被选出来的列

iloc()

通过确定我们需要选取的行列

titanic.iloc[9:25, 2:5]
选取第10到25行,3到5列的数据

注:可以通过iloc和loc进行数据改写。

plots  //此处的应用实际上是matplotlib的应用

即:快速构建图(使用了matplotlib.pyplot包)

1、pandas提供了快速建表的操作既,dataframe.plot默认为折线图。具体可以画什么图可以使用tab键进行查看

2、方法体内置subplots可以将图片分开生成

在现有表中插入新的列

格式:dataframe["#新的了列的名字"]=  (括号内是对新列的赋值)

1、可以基于另一个列进行赋值

air_quality["lopndon_mg_per_cubic"]
=air_quality["station_london"]*1.882
#基于“station_london”,对新的行进行赋值。

2、可以基于两列数据进行赋值(对两行可以进行四则运算)

air_quality["radio_paris_antwerp"]=(air_quality['station_paris']/air_quality['station_antwerp'])
air_quality.head()

3、基于rename方法对已有的列名进行重命名,

air_quality_rename=air_quality.rename
(columns={'station_paris':'i am all the range',
'station_antwerp':'i am athoic',
'station_london':'i am dark'})air_quality_rename.head()
对数据的统计、汇总操作
汇总统计数据

3种方法

#只需要得出单个类型的结果#以mean()为例,求出单列的平均数,类似的还有:max() min()等In [5]: titanic[["Age", "Fare"]].median()  #代码Out[5]:                                    #结果
Age     28.0000
Fare    14.4542
dtype: float64#将所有用的上的类型都统计出来(describe方法)In [6]: titanic[["Age", "Fare"]].describe()
Out[6]: Age        Fare
count  714.000000  891.000000
mean    29.699118   32.204208
std     14.526497   49.693429
min      0.420000    0.000000
25%     20.125000    7.910400
50%     28.000000   14.454200
75%     38.000000   31.000000
max     80.000000  512.329200#一次性给出多个需要的类型(此处可以不进行所有类型的计算,节省算力)
#使用agg函数可以写入内部
In [7]: titanic.agg(...:     {...:         "Age": ["min", "max", "median", "skew"],...:         "Fare": ["min", "max", "median", "mean"],...:     }...: )...: 
Out[7]: Age        Fare
min      0.420000    0.000000
max     80.000000  512.329200
median  28.000000   14.454200
skew     0.389108         NaN
mean          NaN   32.204208

 对数据进行分类
groupby函数:会对所选列每个项创建一个分类组别

the groupby() method is applied on the Sex column to make a group per category.

输出分类后的数量。通过count()   or    value_count()    进行输出

如何重塑表格的布局
排序sort()方法

dataframe.sort_value(by=),   若为多个进行排序则需要用[]列表框住

从长到宽的格式

此步骤可以使我们更直观的观看某数据的详细

使用pivot()函数根据location为分类基础,value作为填入数值进行操作

如何整合多个表格
concat()函数

连接多个表的方法

在表内写入需要连接的表,可以在行列中进行选择合并,默认是axis=0(行合并)

下例进行了行合并

其中1110+2068刚好等于3178

concat中可以设置key来区分我们合并的数据

没设置key的

设置了key的

连接merge()函数

此处连接和sql语法中的左右连接差不多,

In [20]: air_quality = pd.merge(air_quality, stations_coord, how="left", on="location")
#连接了air_quality和station_coord两个表,left是左连接,依据的key是两个表都有的locationIn [21]: air_quality.head()
Out[21]: date.utc  ... coordinates.longitude
0  2019-05-07 01:00:00+00:00  ...              -0.13193
1  2019-05-07 01:00:00+00:00  ...               2.39390
2  2019-05-07 01:00:00+00:00  ...               2.39390
3  2019-05-07 01:00:00+00:00  ...               4.43182
4  2019-05-07 01:00:00+00:00  ...               4.43182[5 rows x 6 columns]

若左右两表的key不同则可以写成

In [24]: air_quality = pd.merge(air_quality, air_quality_parameters,....:                        how='left', left_on='parameter', right_on='id')....: In [25]: air_quality.head()
Out[25]: date.utc  ...   name
0  2019-05-07 01:00:00+00:00  ...    NO2
1  2019-05-07 01:00:00+00:00  ...    NO2
2  2019-05-07 01:00:00+00:00  ...    NO2
3  2019-05-07 01:00:00+00:00  ...  PM2.5
4  2019-05-07 01:00:00+00:00  ...    NO2[5 rows x 9 columns]
操作时间序列数据
第一步:转变时间从string类型变为datetime类型:使用to_datetime()方法。
第二部进行操作:

操作部分方法

In [10]: air_quality["datetime"].max() - air_quality["datetime"].min()
Out[10]: Timedelta('44 days 23:00:00')

或者使用df函数。df函数可以具体指年月日等

In [11]: air_quality["month"] = air_quality["datetime"].dt.monthIn [12]: air_quality.head()
Out[12]: city country                  datetime  ... value   unit  month
0  Paris      FR 2019-06-21 00:00:00+00:00  ...  20.0  µg/m³      6
1  Paris      FR 2019-06-20 23:00:00+00:00  ...  21.8  µg/m³      6
2  Paris      FR 2019-06-20 22:00:00+00:00  ...  26.5  µg/m³      6
3  Paris      FR 2019-06-20 21:00:00+00:00  ...  24.9  µg/m³      6
4  Paris      FR 2019-06-20 20:00:00+00:00  ...  21.4  µg/m³      6[5 rows x 8 columns]
与pivot结合的妙用

在此步中,我们将datetime设置为索引(通过时间可以得出一些关联的数据)

注:此处的datetime数据类型为datetime类型

使用dateframe.index.(查找的数据(年月日))

如:dateframe.index.year,用于查找年的

也可以通过dateframe["始值":"终值"]

查询这段时间的数据

改变时间频率resample()

在使用时,我们可以根据我们的需要将数据转换为自己需求的频率,如:你搜集的是按照小时计算的,我可以将他转换为按天计算等……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149880.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024年流动式起重机司机证考试题库及流动式起重机司机试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证考试题库及流动式起重机司机试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试…

单周涨粉过万,这3种AI绘画风格也太火了!

今天给大家分享小红书平台的一些爆款AI绘画类型&#xff0c;如果想要通过AI绘画赚钱或者想要快速起号一定要看&#xff01; 当然&#xff0c;除了小红书平台也可以发一些到其他自媒体平台上&#xff0c;变现方式有很多&#xff0c;可以开店铺卖壁纸、提示词、头像、接定制、合…

Linux centerOS 服务器搭建NTP服务

1&#xff0c;安装 NTP软件 sudo yum -y install ntp2&#xff0c;编辑配置文件 sudo vim /etc/ntp.conf 3&#xff0c;修改配置 在ntp.conf文件中&#xff0c;可以配置服务器从哪些上游时间源同步时间。如果你想让你的服务器对外同步时间&#xff0c;可以去掉restrict d…

蓝象智联与高德签署战略合作,共创时空“数聚港”

9月20日&#xff0c;高德地图副总裁兼高德云图总经理董振宁一行莅临蓝象智联杭州总部进行座谈交流。蓝象智联董事长童玲、CEO徐敏以及合伙人兼算法科学家毛仁歆给予热情接待。在双方的共同见证下&#xff0c;蓝象智联与高德云图签署战略合作协议&#xff0c;标志着双方在数据流…

牛客小白月赛101(上)

tb的区间问题 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行代码 #include <iostream> #include <climits>using namespace std;int main() {int n, k;cin >> n >> k;int arr[50000];for (int i 0; i < n; i) {cin >> arr[i];}int …

从零开始,Docker进阶之路(一):Docker基础

一、简介与概述 1.Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源。 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。 2.Docker的主要…

可视化设计:华为不出,谁与争锋。

在可视化设计上&#xff0c;华为也是独树一帜的存在&#xff0c;本期分享几个华为的可视化作品。

vue echarts tooltip动态绑定模板,并且处理vue事件绑定

先上代码&#xff1a; tooltip: {// 这里是车辆iconshow: true,// trigger: "item",// backgroundColor: "transparent",appendToBody: true,textStyle: {color: "#ffffff" //设置文字颜色},formatter: (params) > {const TruckTooltip Vue.…

# 高可用的并发解决方案nginx+keepalived(三)

高可用的并发解决方案nginxkeepalived&#xff08;三&#xff09; 一、Nginx搭建图片服务器 针对任何站点&#xff0c;几乎都要访问图片&#xff0c;而一个网页里面几乎有好些张图片&#xff0c;这时候会占据大量tomcat连接&#xff0c;造成大量并发&#xff0c;我们可以通过…

动漫影视渲染合成- NVMe全闪NAS存储应用

电台、影视制作中心、动漫公司等需要进行大量视频渲染&#xff0c;动画渲染的机构&#xff0c;选用NVMe全闪存储 NAS性能发挥稳定

第十四届蓝桥杯嵌入式国赛

一. 前言 本篇博客主要讲述十四届蓝桥杯嵌入式的国赛题目&#xff0c;包括STM32CubeMx的相关配置以及相关功能实现代码以及我在做题过程中所遇到的一些问题和总结收获。如果有兴趣的伙伴还可以去做做其它届的真题&#xff0c;可去 蓝桥云课 上搜索历届真题即可。 二. 题目概述 …

nVisual到底能为机房运维管理解决哪些问题?

一、nVisual是什么&#xff1f; nVisual是一套运维管理软件&#xff0c;以可视化的方式记录机房内设备信息、物理位置、物理连接关系等&#xff0c;通过nVisual可以建立完善的设备档案。能真实还原机房平面图、还可画机柜布置图、不仅可以管理设备还可以管理设备端口和链路&am…

从零开始构建后台管理系统列表:新手友好教程,全程使用 HTML+CSS+JavaScript,涵盖增删查改、导入导出、排序等功能(含完整源码)

b站视频演示效果&#xff1a; 效果图&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>后台管理系统</title><!-- 引入正确的 Vue.js 版本 --><script src"https:/…

有关 签到/签退 业务逻辑 的梳理与学习

导言 最近搞到了个签到管理&#xff0c;其中的业务逻辑感觉有点复杂(可能是我的方向不对),虽然是实现了&#xff0c;不过代码和逻辑很多&#xff0c;也有些乱&#xff0c;想趁着还记得逻辑来记录梳理一下&#xff0c;看看自己以后有没有更好的思路&#xff0c;或者有大佬有思路…

Day 43~48 smbms

SMBMS SMBMS是超市订单管理系统的简称 数据库&#xff1a; 项目如何让搭建&#xff1f; 考虑使用不使用Maven&#xff1f; 依赖&#xff0c;jar 项目搭建准备工作 1.搭建一个mavenweb项目 2.配置Tomcat 3.测试项目是否能够跑起来 4.导入项目中会遇到的jar包 jsp,servle…

html TAB切换按钮变色、自动生成table--使用函数优化结构

<!DOCTYPE html> <head> <meta charset"UTF-8"> <title>Dynamic Tabs with Table Data</title> <style> /* 简单的样式 */ .tab-content { display: none; border: 1px solid #ccc; padding: 1px; marg…

基于Springboot社区论坛JAVA|VUE|SSM计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统&#xff1a;Window操作系统 2、开发工具&#xff1a;IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

2024双11买什么东西比较好?2024双十一好物推荐

双十一各种爆款商品&#xff0c;打折商品非常多&#xff0c;容易让人挑花眼也容易落入消费主义的陷阱&#xff0c;买回家后发现并不实用&#xff0c;甚至可能是自己平常生活中根本用不上的东西&#xff01;即使是打折活动也要在购买前考虑一下自己是否需要&#xff0c;在日常生…

Android (rust) vulkan (JNI) 画一个三角形: VulkanSurfaceView 初始化

上文说到, vulkan 作为一种 GPU 编程接口标准, 具有很好的跨平台能力. 并且在 wayland (GNU/Linux) 成功使用 vulkan 绘制了一个三角形. 今天, 我们同样使用 vulkano (rust), 在 Android (手机) 也画一个三角形吧 ~ 本文的解决方案主要参考了 stackoverflow 的一篇文章 (链接…

ITU标准引领车内通讯新纪元

在现代汽车科技更迭的今天&#xff0c;车内通讯与免提通话系统的性能与稳定性成为了消费者购车时不可忽视的重要因素。随着国际电信联盟&#xff08;ITU&#xff09;一系列标准的推出&#xff0c;车内通讯体验正迈向新的高度。本文将深入探讨ITU-T P.1100、P.1110、P.1120、P.1…