python数据分析——pandas数据结构2

news2024/10/6 16:29:51

参考资料:活用pandas库

导入基础数据

# 导入库
import pandas as pd
# 读取数据集
df=pd.read_csv(r"..\data\scientists.csv")
df.head()

1、DataFrame

        DataFrame是Pandas中最常见的对象。可以把它看作python存储电子表格式数据的方式。Series数据结构的许多特征同样存在于DataFrame中。

(1)布尔子集

        我们可以借助布尔向量获取DataFrame的子集。

# 使用布尔向量获取部分数据行
print(df[df["Age"]>df["Age"].mean()])

(2)操作自动对齐和向量化(广播)

        pandas支持广播,广播源自numpy库。它实际描述的是在类数组对象(比如Seires和DataFrame)之间执行操作的效果。这些行为取决于对象的类型、长度以及与对象关联的标签。

        当DataFrame和标量进行运算时,DataFrame中的每个元素会分别和标量进行运算。本例中,df乘2之后,数值会变为原来的两倍,而字符串长度也会翻倍。

# DataFrame和标量相乘
print(df*2)

2、更改Series和DataFrame

(1)添加列

        df中Born和Died列的数据类型是object,表明它们是字符串。可以把字符串转换成合适的datetime类型,这样可以执行常见的日期和时间操作了(例如计算两个日期之差或人的年龄)。如果日期有特定格式,可以提供自定义的格式。

print(df["Born"].dtype)
print(df["Died"].dtype)
# 把Born和Died列格式化为datetime
born_datetime=pd.to_datetime(df["Born"],format="%Y-%m-%d")
died_datetime=pd.to_datetime(df["Died"],format="%Y-%m-%d")
# 增加列
df["born_dt"]=born_datetime
df["died_dt"]=died_datetime
print(df.head())
print(df.shape)
print(df.dtypes)

(2)直接更改列

        random.shuffle方法可以直接作用于序列,实现序列的“洗牌”。当然sample和reset_sample相结合也能实现“洗牌”的效果。

# Age列更改前
print(df.Age)
# 导入random库,用于产生随机数
import random
# 设置随机种子,产生相同的随机数序列
random.seed(42)
random.shuffle(df["Age"])
print(df.Age)

# 使用random_state减少随机化
df["Age"]=df["Age"].sample(len(df.Age),\
                           random_state=24).reset_index(drop=True)

        下面计算年龄,并将日期的差值转换为年

# Died_dt减去Born_dt得到的是天数
df["age_days_dt"]=df["died_dt"]-df["born_dt"]
print(df)
# 使用astype方法把天数转换为年
df["age_days_dt"]=df["age_days_dt"].astype("timedelta64[Y]")
print(df)

(3)删除值

        删除列时,可以使用选取列子集的方法选择所有希望删除的列表,也可以使用DataFrame的drop方法指定要删除的列表。

# 展示当前数据中的所有列
print(df.columns)
# 删除Age列
# 设置参数axis=1,删除列
df_dropped=df.drop(["Age"],axis=1)
# 展示删除指定列之后的列
print(df_dropped.columns)

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

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

相关文章

PMOS和NMOS

一. MOS管简介 MOS管是场效应管的一种,主要有两种结构形式:N沟道和P沟道,又根据场效应原理的不同,分为耗尽型(当栅压为零时有较大漏极电流)和增强型(当栅压为零,漏极电流也为零&…

Jenkins 备份恢复插件 ThinBackup

系统环境: Jenkins 版本:2.213 一、简介 在部署完 Jenkins 后首先要准备的就是数据备份问题,尤其是在生产环境下的 Jenkins,如果数据丢失很可能导致项目上线和开发时间受到影响,所以备份数据很重要。还好,…

[算法][差分数组][leetcode]1094. 拼车

地址&#xff1a; https://leetcode.cn/problems/car-pooling/description/ 解法一&#xff1a;暴力解法 class Solution {public boolean carPooling(int[][] trips, int capacity) {//特殊条件判断if(nulltrips||capacity<0){return false;}int [] d new int[1001];//暴…

VTK官方例子

VTK官方例子 vtkMutableDirectedGraph #!/usr/bin/env python# noinspection PyUnresolvedReferences import vtkmodules.vtkInteractionStyle # noinspection PyUnresolvedReferences import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkName…

数组二叉树-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布一些解题思路&#xff0c;希望大家多指教 一、题目描述 二叉树也可以用数组来存储&#xff0c;给定一个数组&#xff…

信息系统项目管理师0103:初步可行性研究(7项目立项管理—7.2项目可行性研究—7.2.2初步可行性研究)

点击查看专栏目录 文章目录 7.2.2初步可行性研究1.初步可行性研究定义2.辅助研究的目的和作用3.初步可行性研究的作用4.初步可行性研究的主要内容记忆要点总结7.2.2初步可行性研究 1.初步可行性研究定义 初步可行性研究一般是在对市场或者客户情况进行调查后,对项目进行的初步…

linux上使用mariadb安装mysql环境

之前都是手动安装mysql数据库&#xff0c;现在尝试下在线安装&#xff0c;为后面的项目部署做准备&#xff0c;突然发现使用mariadb安装mysql环境真的超级简单。 1.使用mariadb安装mysql 安装服务端&#xff1a; yum install mariadb-server -y 安装客户端&#xff1a; yum i…

大数据Scala教程从入门到精通第六篇:Scala编译结果反编译分析

一&#xff1a;Scala编译结果反编译分析 问题&#xff1a;为什么Scalac之后的生成的class文件有两个&#xff0c;一个带$的&#xff0c;一个不带$的&#xff1f; 不能直接java 执行scala编译的字节码文件。 直接运行的话就会报错&#xff0c;会报一个类没有被找到。 引入类库就…

【全面介绍下Spring】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Excel中实现md5加密

1.注意事项 (1)在Microsoft Excel上操作 (2)使用完&#xff0c;建议修改的配置全部还原&#xff0c;防止有风险。 2.准备MD5宏插件 MD5加密宏插件放置到F盘下&#xff08;直接F盘下&#xff0c;不用放到具体某一个文件夹下&#xff09; 提示&#xff1a;文件在文章顶部&…

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测 目录 JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TTAO-CNN-BiLSTM-MATT三角拓扑聚合优化器优化双向长短期记忆神经网络融合多头注意力…

JAVA 标准接口返回与i18n国际化配置

不喜欢废话直接上代码 标准通用返回 package com.luojie.common;import com.luojie.common.inter.ResponseCommon; import lombok.Data;Data public class ResponseCommonImpl implements ResponseCommon {int code;String msg;Object entity; }package com.luojie.common;im…

苹果电脑MAC清理系统空间工具CleanMyMacX4.15.3中文版下载

苹果电脑以其出色的性能、优雅的设计和高效的操作系统而受到许多用户的喜爱。然而&#xff0c;随着时间的推移和使用量的增加&#xff0c;你可能会发现你的Mac开始变得缓慢和响应迟缓。这通常是因为硬盘空间被大量占用&#xff0c;影响了系统的整体性能。幸运的是&#xff0c;有…

白话机器学习4:小波分解的原理与Python代码实现

小波去噪可以想象成使用一把“筛子”来过滤信号。这个“筛子”能够根据信号的不同频率成分&#xff0c;将其分解成多个层次。在这个过程中&#xff0c;信号的重要信息通常包含在低频部分&#xff0c;而噪声则多分布在高频部分。 将信号通过这个“筛子”分解后&#xff0c;我们可…

基于Java+SpringBoot+Mybaties-plus+Vue+elememt 驾校管理 设计与实现

一.项目介绍 系统角色&#xff1a;管理员、驾校教练、学员 管理员&#xff1a; 个人中心&#xff1a;修改密码以及个人信息修改 学员管理&#xff1a;维护学员信息&#xff0c;维护学员成绩信息 驾校教练管理&#xff1a;驾校教练信息的维护 驾校车辆管理&…

线性集合:ArrayList,LinkedList,Vector/Stack

共同点&#xff1a;都是线性集合 ArrayList ArrayList 底层是基于数组实现的&#xff0c;并且实现了动态扩容&#xff08;当需要添加新元素时&#xff0c;如果 elementData 数组已满&#xff0c;则会自动扩容&#xff0c;新的容量将是原来的 1.5 倍&#xff09;&#xff0c;来…

Python专题:八、列表(1)

Python的内置数据类型 数据类型&#xff1a;列表 list类型 可以是字符串&#xff0c;浮点数&#xff0c;整数&#xff0c;列表 列表特性 ①集合性的数据类型 ②列表是有序的 ③列表是可更新的 访问列表元素的方式也是[索引]&#xff0c;也是从0开始的&#xff0c;不能超过…

eNSP中小型园区网络拓扑搭建(下)

→b站直通车&#xff0c;感谢大佬← →eNSP中小型园区网络拓扑搭建&#xff08;上&#xff09;← 不带配置命令的拓扑图已上传~ 配置ospf SW5 # ospf 1 router-id 5.5.5.5area 0.0.0.0network 192.168.51.5 0.0.0.0network 192.168.52.5 0.0.0.0area 0.0.0.10network 192.1…

泰迪智能科技大数据开发实训平台功能介绍

大数据开发实训平台是面向实训课和课后训练的编程实训平台&#xff0c;平台底层基于Docker技术&#xff0c;采用容器云部署方案&#xff0c;预装大数据相关课程教学所需的实训环境&#xff0c;拥有1主2从的Hadoop集群&#xff0c;还能够自主定制环境&#xff0c;并能够与实训管…

【C语言题解】用函数来模拟实现strlen()、strcpy()、strcmp()、strcat()

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ 学习了函数后&#xff0c;老师让我们用函数来实现上面这四个字符串函数。 我们首先来了解一下这四个字符串函数&#xff1a; 1.strlen函数 用于获取字符串长度&#xff08;不包括末尾…