【深耕 Python】Data Science with Python 数据科学(8)pandas数据结构:Series和DataFrame

写在前面

关于数据科学环境的建立,可以参考我的博客:

【深耕 Python】Data Science with Python 数据科学(1)环境搭建

往期数据科学博文:

【深耕 Python】Data Science with Python 数据科学(2)jupyter-lab和numpy数组

【深耕 Python】Data Science with Python 数据科学(3)Numpy 常量、函数和线性空间

【深耕 Python】Data Science with Python 数据科学(4)(书337页)练习题及解答

【深耕 Python】Data Science with Python 数据科学(5)Matplotlib可视化(1)

【深耕 Python】Data Science with Python 数据科学(6)Matplotlib可视化(2)

【深耕 Python】Data Science with Python 数据科学(7)书352页练习题

代码说明: 由于实机运行的原因,可能省略了某些导入(import)语句。

Jupyter 代码片段 1:定义简单的Series

python 复制代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

print(pd.Series([1, 2, 3, "foo", np.nan, "bar"]))
print()
print(pd.Series([1, 2, 3, "foo", np.nan, "bar"]).dropna())

运行结果:

Jupyter 代码片段 2:Series的索引、自定义索引

Series的索引支持自定义,可以通过索引访问各个成员、进行切片操作等。

python 复制代码
from numpy.random import default_rng

print(pd.Series([1, 2, 3, "foo", np.nan, "bar"]).index)
rng = default_rng()
print()
s = pd.Series(rng.standard_normal(5), index=["a", "b", "c", "d", "e"])
print(s)
print()
print(s[0])
print()
print(s[1:3])
print()
print(s["c"])
print()
print(s.keys())
print()
print(s.index)

运行结果:

Jupyter 代码片段 3:简单直方图的绘制

使用1000个标准正态分布的样本点,绘制直方图:

python 复制代码
s = pd.Series(rng.standard_normal(1000))
s.hist()
plt.show()

运行结果:

Jupyter 代码片段 4:DataFrame的构造、访问和映射

python 复制代码
from math import tau
from numpy.random import default_rng

rng = default_rng()
df = pd.DataFrame(
    {
        "Number": 1.0,
        "String": "foo",
        "Angles": np.linspace(0, tau, 5),
        "Random": pd.Series(rng.standard_normal(5)),
        "Timestamp": pd.Timestamp("20221020"),
        "Size": pd.Categorical(["tiny", "small", "mid", "big", "huge"])
    }
)

print(df)
print()
print(df["Size"])
print()
print(df["Random"].mean())
print()
print(df.describe())
print()
sizes = {"tiny": 4, "small": 8, "mid": 12, "big": 16, "huge": 24}
df["Size"].map(sizes)

运行结果:

参考文献 Reference

《Learn Enough Python to be Dangerous------Software Development, Flask Web Apps, and Beginning Data Science with Python》, Michael Hartl, Boston, Pearson, 2023.

相关推荐
IAtlantiscsdn10 小时前
Redis7底层数据结构解析
前端·数据结构·bootstrap
我星期八休息10 小时前
深入理解跳表(Skip List):原理、实现与应用
开发语言·数据结构·人工智能·python·算法·list
蒋星熠10 小时前
如何在Anaconda中配置你的CUDA & Pytorch & cuNN环境(2025最新教程)
开发语言·人工智能·pytorch·python·深度学习·机器学习·ai
合作小小程序员小小店11 小时前
机器学习介绍
人工智能·python·机器学习·scikit-learn·安全威胁分析
JavaEdge在掘金11 小时前
掌握Spring IoC容器和Bean作用,轻松实现依赖注入!
python
和编程干到底12 小时前
数据结构 栈和队列、树
数据结构·算法
flysh0512 小时前
pyAutoGUI 模块主要功能介绍-(2)键盘功能
python·pyautogui
爱编程的化学家12 小时前
代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
数据结构·c++·算法·leetcode·二叉树·代码随想录
强盛小灵通专卖员12 小时前
闪电科创 SCI专业辅导
python·深度强化学习·研究生·ei会议·导师·sci期刊
跟橙姐学代码12 小时前
自动化邮件发送的终极秘籍:Python库smtplib与email的完整玩法
前端·python·ipython