数据分析三剑客【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



目录
相关文章
|
7天前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
22 1
|
7天前
|
数据挖掘 Python
Pandas实战(2):电商购物用户行为数据分析
Pandas实战(2):电商购物用户行为数据分析
19 1
|
7天前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
20 1
|
7天前
|
数据采集 数据挖掘 数据处理
小白一文学会Pandas:数据分析的瑞士军刀
小白一文学会Pandas:数据分析的瑞士军刀
18 1
|
24天前
|
机器学习/深度学习 数据挖掘 TensorFlow
🔍揭秘Python数据分析奥秘,TensorFlow助力解锁数据背后的亿万商机
【9月更文挑战第11天】在信息爆炸的时代,数据如沉睡的宝藏,等待发掘。Python以简洁的语法和丰富的库生态成为数据分析的首选,而TensorFlow则为深度学习赋能,助你洞察数据核心,解锁商机。通过Pandas库,我们可以轻松处理结构化数据,进行统计分析和可视化;TensorFlow则能构建复杂的神经网络模型,捕捉非线性关系,提升预测准确性。两者的结合,让你在商业竞争中脱颖而出,把握市场脉搏,释放数据的无限价值。以下是使用Pandas进行简单数据分析的示例:
32 5
|
7天前
|
数据挖掘 Python
Pandas数据分析实战(2):2023美国财富1000强公司情况
Pandas数据分析实战(2):2023美国财富1000强公司情况
18 0
|
7天前
|
数据采集 数据挖掘 Python
Pandas数据分析实战(1):2023美国财富1000强公司情况
Pandas数据分析实战(1):2023美国财富1000强公司情况
19 0
|
7天前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
21 0
|
3月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
177 0
|
23天前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化

热门文章

最新文章

下一篇
无影云桌面