数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—Pandas—pandas入门—数据选择(2)(四)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

1.4.2 boolean索引

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0, 151, size = (1000, 3)),
                       columns = ['Python', 'English', 'Math'])
cnt = df['Python'] == 150
df[cnt]

image.png

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0, 151, size = (1000, 3)),
                       columns = ['Python', 'English', 'Math'])
cnt1 = df['Python'] > 140
cnt2 = df['Math'] > 140
cnt = cnt1 & cnt2
df[cnt]

image.png

1.4.3 赋值操作

1.4.3.1 新增一列

🚩我们在原有的三学科基础上增加一门 C++ 的成绩

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(60, 101, size = (5, 3)),
                       columns = ['Python', 'English', 'Math'])
display(df)
# 添加一个新学科:C++【增加一列】
df['C++'] = np.random.randint(60, 101, size = 5)
display(df)

image.png

1.4.3.2 整列的变化

🚩我们让 Python 这门课的所有学生的分数都增加 10 分,再将 Math,C++的分数都增加10分

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(60, 101, size = (5, 3)),
                       columns = ['Python', 'English', 'Math'])
df['C++'] = np.random.randint(60, 101, size = 5)
display(df)
# 将 Python 这列的分数都增加 10 分
df['Python'] += 10
display(df)
# 将 Math,C++的分数都增加10分
df[['Math', 'C++']] += 10
display(df)

12.png

1.4.3.3 列上元素的变化

🚩我们将 Math 中索引是 2 的人的分数改为 100,再将 Math 中索引是 2,3 的人的分数改为 99

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(60, 101, size = (5, 3)),
                       columns = ['Python', 'English', 'Math'])
df['C++'] = np.random.randint(60, 101, size = 5)
display(df)
# 将 Math 中索引是 2 的人的分数改为 100
df['Math'][2] = 100
display(df)
# 将 Math 中索引是 2,3 的人的分数改为 99
df['Math'][[2, 3]] = 99
display(df)

13.png

1.4.3.4 批量操作多个数据

🚩将 Math,C++ 中索引是 2,3 的人的分数改为 80

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(60, 101, size = (5, 3)),
                       columns = ['Python', 'English', 'Math'])
df['C++'] = np.random.randint(60, 101, size = 5)
display(df)
# 将 Math,C++ 中索引是 2,3 的人的分数改为 80
# df[['Math', 'C++']][[2, 3]] = 80  这种操作是错误的
df.loc[[2, 3], ['Math', 'C++']] = 80
display(df)

14.png

在条件的情况下修改多个值,必须使用 loc:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(60, 101, size = (5, 3)),
                       columns = ['Python', 'English', 'Math'])
df['C++'] = np.random.randint(60, 101, size = 5)
display(df)
# 将 C++的分数大于 80 的人的分数统一减去 20分
cnt = df['C++'] > 80
# 使用 loc 修改数据
df.loc[cnt] -= 20
display(df)

15.png



目录
相关文章
|
15天前
|
Python
|
15天前
|
Python
|
14天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
31 1
|
15天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
8 1
|
15天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
14 2
|
15天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
12 2
|
14天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
10 0
|
20天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
51 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
79 0
|
21天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
31 2

热门文章

最新文章

下一篇
无影云桌面