三天做完pandas数据分析50题第一天

三天做完pandas数据分析50题第一天

  • 第1题 将python的list转换为Series
  • 第2题 将字典转换为Series
  • 第3题 将Series转换成python的list
  • 第4题 使用numpy创建series。
  • 第5题 如何为Series添加新的元素?
  • 第6题 使用字典创建DataFrame
  • 第7题 给DataFrame设置索引列
  • 第8题 生成一个月的所有天
  • 第9题 生成一年中所有的周一
  • 第10题 生成一天中所有的小时
  • 第11题 创建一个DataFrame,一列是一个月中每天的日期,另一列是对应日期在当年的第几天?
  • 第12题 删除列

第1题 将python的list转换为Series

	将列表scores = [90, 85, 95, 97, 89, 100]转换为Series?

解析:使用pd.Series()方法,将列表直接作为参数传递进去。

import pandas as pd
scores = [90, 85, 95, 97, 89, 100]
series = pd.Series(scores)
print(series)

结果如下:
在这里插入图片描述

第2题 将字典转换为Series

	如何将存有学生成绩的字典scores = {"小明":80, "小张":85,"小李":70}转换为Series?

解析:将字典直接传入pd.Series()中。

import pandas as pd
scores = {"小明":80, "小张":85,"小李":70}
series = pd.Series(scores)
print(series)

结果如下:
在这里插入图片描述
需要注意的是,当传入列表的时候,索引是数字索引,当传入字典的时候,索引是字典的key。

第3题 将Series转换成python的list

解析:可以使用Series的tolist()方法实现。

import pandas as pd
scores = {"小明":80, "小张":85,"小李":70}
series = pd.Series(scores)    

score_list = series.tolist()    # 将Series转换成列表
print(score_list)

在这里插入图片描述

第4题 使用numpy创建series。

	如何使用numpy创建如下的Series?

在这里插入图片描述

解析:代码如下:

import pandas as pd
import numpy as np

s = pd.Series(
    np.arange(11,20),
    index=np.arange(1,10),
    dtype='float'    
)

第5题 如何为Series添加新的元素?

	已知存在一个学生身高的series如下:
	heights = {'xiaoming': 180, 'xiaozhang': 175, 'xiaowang': 190, 'xiaowu': 183}
	s = pd.Series(heights)

如何为这个Series添加两个新的元素,“xiaoliu”身高178,“xiaozhao”身高176?
解析:可以先构造一个新的Series,然后使用Series的_append方法(最新版的pandas将append方法变为了_append方法)添加新的Series。注意,使用_append方法并不会改变原来的Series,需要使用变量接收。

import pandas as pd

heights = {'xiaoming': 180, 'xiaozhang': 175, 'xiaowang': 190, 'xiaowu': 183}
s = pd.Series(heights)

s1 = pd.Series({'xiaoliu': 178, 'xiaozhao': 176})
s = s._append(s1)

s的结果如下:
在这里插入图片描述

第6题 使用字典创建DataFrame

解析:将字典直接传入pd.DataFrame()方法中即可使用字典创建DataFrame。

import pandas as pd

df = pd.DataFrame(
    {
        'name': ['xiaoming', 'xiaozhang', 'xiaowang'],
        'height':[180, 175, 190],
        'score':[94, 78, 80]
    }
)

DataFrame的效果如下:
在这里插入图片描述
那如果将key为score的值列表改为[94, 78, 80, 99] ,即多了一个元素会怎么样呢?会报如下错误:ValueError: All arrays must be of the same length,即所有的arrays都必须有相同的长度。

第7题 给DataFrame设置索引列

	接上题,如何将DataFrame的name列设置为索引列?

解析:使用DataFrame的set_index()方法,如需直接修改DataFrame,需要添加参数inplace=True。

import pandas as pd

df = pd.DataFrame(
    {
        'name': ['xiaoming', 'xiaozhang', 'xiaowang'],
        'height':[180, 175, 190],
        'score':[94, 78, 80]
    }
)
df.set_index('name', inplace=True)

效果如下:
在这里插入图片描述

第8题 生成一个月的所有天

解析:使用pd.date_range()方法:

# 第一种方法
import pandas as pd
date_range = pd.date_range(start='20240101', end='20240131')
# 第二种方法
date_range = pd.date_range(start='20240101', periods=31)

第9题 生成一年中所有的周一

解析:还是使用pandas的date_range()方法,需要添加参数freq=‘W-MON’:

import pandas as pd
date_range = pd.date_range(start='2023-01-01', end='2023-12-31', freq='W-MON')

第10题 生成一天中所有的小时

import pandas as pd
date_range = pd.date_range('2024-04-11', periods=24, freq='H')

第11题 创建一个DataFrame,一列是一个月中每天的日期,另一列是对应日期在当年的第几天?

解析:使用pd.DataFrame()和pd.date_range()方法来创建。

import pandas as pd

date_range = pd.date_range('2024-03-01', periods=31, freq='D')
df = pd.DataFrame(date_range, columns=['day'])
df['dayofyear'] = df['day'].dt.dayofyear

DataFrame的效果如下(部分截图):
在这里插入图片描述

第12题 删除列

import pandas as pd

df = pd.DataFrame(
    {
        'name': ['xiaoming', 'xiaozhang', 'xiaowang'],
        'height':[180, 175, 190],
        'score':[94, 78, 80]
    }
)
df.drop(columns=['height','score'],inplace=True)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日一题---OJ题: 合并两个有序链表

嗨!小伙伴们,好久不见啦! 今天我们来看看一道很有意思的一道题---合并两个有序链表 嗯,题目看上去好像不难,我们一起画图分析分析吧! 上图中,list1有3个结点,分别为1,2,3 ; list2中有3个结点,分别为1,3,4, 题目要求我们要将这两个链表合并到一起,并且是升序,最后将链表返回。 …

光威神策PRO PCIe 5.0 SSD发布,国产固态硬盘进入10G俱乐部

全球半导体供应链的紧张局势和闪存资源的短缺让许多行业都面临着不小的压力 , 连带的也让消费者难以获取物美价廉的闪存产品 。但是,总有一些企业能够逆流而上, 像是 光威科技这家国产存储品牌, 最近就给国内消费者 带来了一个惊喜…

mybatis05:复杂查询:(多对一,一对多)

mybatis05:复杂查询:(多对一,一对多) 文章目录 mybatis05:复杂查询:(多对一,一对多)前言:多对一 : 关联 : 使用associatio…

Echarts-实现地图并轮播地图信息

目录 ./map-geojson/jinhua.json./CenterMap.vue./center.vue 使用地图组件效果 ./map-geojson/jinhua.json {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":330…

力扣—2024 春招冲刺百题计划

矩阵 1. 螺旋矩阵 代码实现: /** param matrix int整型二维数组 * param matrixRowLen int matrix数组行数* param matrixColLen int* matrix数组列数* return int整型一维数组* return int* returnSize 返回数组行数 */ int* spiralOrder(int **matrix, int matri…

网工内推 | 网络工程师,13薪,周末双休,华三、华为认证优先

01 路邦远大 招聘岗位:网络工程师 职责描述: 1、配合市场销售人员,做好产品的售后服务工作; 2、负责项目方案安装调试指导以及日常客户使用培训,对客户提出的问题提出解决方案; 3、为客户提供专业、规范的…

图片作为背景的闪白问题,6种基础方案, 不会不知道吧

前言 关于【SSD系列】: 前端一些有意思的内容,旨在3-10分钟里, 500-1500字,有所获,又不为所累。 某天,发现有背景图片的弹出框,会出现闪白现象,这,兄弟们,你…

导入芯片原厂SDK Mirror源码到gerrit

下载镜像代码 repo init --mirror --repo-url ssh://xx/repo.git -u ssh://xx/manifests.git -m manifest.xml repo sync 创建AOSP project 对All Project权限修改 创建repo 在刚才下载的codebase根目录执行如下命令: repo forall -c echo $REPO_PROJECT; ssh -p 29…

C++ AVL树底层实现原理

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:C知识分享⏪   🚚代码仓库:C高阶🚚   🌹关注我🫵带你学习更多C知识   🔝🔝 目录 前言 AVL 树 1.1 AVL树的概念 1.2 AVL树…

【Hadoop大数据技术】——Flume日志采集系统(学习笔记)

📖 前言:在大数据系统的开发中,数据收集工作无疑是开发者首要解决的一个难题,但由于生产数据的源头丰富多样,其中包含网站日志数据、后台监控数据、用户浏览网页数据等,数据工程师要想将它们分门别类的采集…

永恒之蓝(ms17-010)复现

永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索…

ARM架构麒麟操作系统安装配置Mariadb数据库

、安装配置JDK (1)检查机器是否已安装JDK 执行 java -version命令查看机器是否安装JDK,一般麒麟操作系统默认安装openjdk 1.8。 (2)安装指定版本JDK 如果麒麟操作系统默认安装的openjdk 1.8不符合需求的话,可以卸载机器安装的openjdk 1.8并按需安装所需的openjdk版本…

软件杯 深度学习人体语义分割在弹幕防遮挡上的实现 - python

文章目录 1 前言1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习人体语义分割在弹幕防遮挡上的应用 该项目较为新颖,适合作为竞…

Python爬虫与API交互:如何爬取并解析JSON数据

目录 前言 一、什么是API和JSON数据 二、准备环境 三、发送API请求并获取数据 四、解析JSON数据 五、完整代码示例 六、总结 前言 随着互联网的发展,越来越多的网站提供了API接口,供开发者获取实时数据。在爬虫领域中,与API交互并解析…

快速实现一个Hibernate的例子

写第一个简单的Hibernate程序: 具体的开始第一个Hibernate程序之前: 找到jar包, hibernate 的核心包, mysql数据库的连接驱动包, junit测试包 ①创建Hibernate配置文件 ②创建持久化类 也是和数据库中数据表一一对应这个类 ③创建对象-关系映射文件 ④通过hibern…

【攻防世界】mfw(.git文件泄露)

首先进入题目环境,检查页面、页面源代码、以及URL: 发现页面无异常。 使用 dirsearch 扫描网站,检查是否存在可访问的文件或者文件泄露: 发现 可访问界面/templates/ 以及 .git文件泄露,故使用 GItHack 来查看泄露的 …

LeetCode题练习与总结:不同路径Ⅱ--63

一、题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从…

如何使用SQL注入工具?

前言 今天来讲讲SQL注入工具,sqlmap。如何使用它来一步步爆库。 sqlmap官方地址如下。 sqlmap: automatic SQL injection and database takeover tool 前期准备,需要先安装好docker、docker-compose。 一个运行的后端服务,用于写一个存在…

竞赛 图像识别-人脸识别与疲劳检测 - python opencv

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是…

AI大模型创新交汇点:当AI遇见艺术

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …