pandas 入门(四)

简介: 本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 入门,后续还会单独发一篇 pandas 高级以及 pandas 进阶内容供读者学习。

6.训练场

6.1 创建1000条语、数、外、Python的考试成绩DataFrame,范围是0~150包含150,分别将数据保存到csv文件以及Excel文件,保存时不保存行索引。

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0, 151, size = (1000, 4)),
                  columns = ['语', '数', '英', 'Python'])
df.to_csv('./score.csv', index = False)
df.to_excel('./score.xlsx', index = False)

image.png

6.2 创建使用字典创建DataFrame,行索引是a~z,列索引是:身高(160-185)、体重(50-90)、学历(无、本科、硕士、博士)。身高、体重数据使用NumPy随机数生成,学历数据先创建数组 edu =np.array([‘无’,‘本科’,‘硕士’,‘博士’]),然后使用花式索引从四个数据中选择26个数据。

import numpy as np
import pandas as pd
edu = np.array(['无', '本科', '硕士', '博士'])
# 花式索引取数据
index = np.random.randint(0, 4, size = 26)
edu = edu[index]
data = pd.DataFrame({'身高':np.random.randint(160, 186, size = 26),
                     '体重':np.random.randint(50, 91, size = 26),
                     '学历':edu},
                     index = list('qwertyuiopasdfghjklzxcvbnm'))  
                     # 这个单纯是为了图省事儿,手指按住键盘滑动产生
# 我们要求行索引是 a~ z,故我们来排个序
data = data.sort_index(ascending = True)
'''
或者要生成 a ~ z 也可以采取:
index = np.arange(97, 123)
index = [chr(i) for i in index]
'''
display(data)

16.png

6.3 使用题目二中的数据,进行数据筛选。

6.3.1 筛选索引大于 ‘t’ 的所有数据

# 获取索引,进行逻辑运算
# data.index 可以获取 data 的行索引
cnt = data.index > 't'
data[cnt]

image.png

6.3.2 筛选学历是博士,身高大于170或者体重小于80的学生

cnt1 = data['学历'] == '博士'
cnt2 = data['身高'] > 170
cnt3 = data['体重'] < 80
cnt = cnt1 & (cnt2 | cnt3)
data[cnt]

image.png

6.4 使用题目二中数据,开始学生们开始减肥

6.4.1 本科生减肥,减掉的体重统一是10

cnt = data['学历'] == '本科'
display(data[cnt])
data.loc[cnt,'体重'] -= 10
display(data[cnt])

17.png

6.4.2 博士生减肥,减掉体重范围是5~10

cnt = data['学历'] == '博士'
display(data[cnt])
'''
data[cnt].shape  运行结果为(8, 3)
data[cnt].shape[0]  运行结果为 8 
'''
data.loc[cnt, '体重'] -= np.random.randint(5, 11, 
                        size = data[cnt].shape[0])
                        # 相当于 size = 8
display(data[cnt])

18.png


目录
相关文章
|
4月前
|
数据可视化 数据挖掘 C++
一文入门数分三剑客--Numpy、Pandas、Matplotlib
一文入门数分三剑客--Numpy、Pandas、Matplotlib
|
6月前
|
索引 Python
pandas 入门
pandas 入门
88 0
pandas 入门
|
2月前
|
数据挖掘 数据处理 索引
Pandas数据处理——渐进式学习1、Pandas入门基础
Pandas数据处理——渐进式学习1、Pandas入门基础
50 0
|
6月前
|
SQL 数据挖掘 数据库
【100天精通Python】Day54:Python 数据分析_Pandas入门基础,核心数据结构Serise、DataFrame、Index对象,数据的导入操作
【100天精通Python】Day54:Python 数据分析_Pandas入门基础,核心数据结构Serise、DataFrame、Index对象,数据的导入导出操作
125 0
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?
【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?
|
8月前
|
数据挖掘 索引 Python
使用Pandas进行数据清理的入门示例
数据清理是数据分析过程中的关键步骤,它涉及识别缺失值、重复行、异常值和不正确的数据类型。获得干净可靠的数据对于准确的分析和建模非常重要。
66 0
|
9月前
|
数据挖掘 数据处理 索引
第一篇:Pandas入门指南:掌握Python数据处理利器
欢迎来到我们的全新系列文章——Pandas数据分析系列!在这个系列中,我们将带您深入了解Pandas这个强大的Python库,探索其在数据分析领域的广泛应用和令人惊叹的功能。
|
9月前
|
SQL 数据采集 JSON
Pandas入门指南:Python中的数据处理与分析
Python的Pandas库是数据科学领域中非常重要的一个库,它使数据清洗和分析工作变得更快更简单。Pandas结合了NumPy的高性能数组计算功能以及电子表格和关系型数据库(如SQL)的灵活数据处理能力。
|
10月前
|
数据采集 存储 SQL
【Pandas】数据分析入门
【Pandas】数据分析入门
280 0
|
Python
《即学即用的Pandas入门与时间序列分析》电子版地址
即学即用的Pandas入门与时间序列分析
60 0
《即学即用的Pandas入门与时间序列分析》电子版地址