本文主要是介绍【深耕 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
import numpy as np
import pandas as pd
import matplotlib.pyplot as pltprint(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的索引支持自定义,可以通过索引访问各个成员、进行切片操作等。
from numpy.random import default_rngprint(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个标准正态分布的样本点,绘制直方图:
s = pd.Series(rng.standard_normal(1000))
s.hist()
plt.show()
运行结果:
Jupyter 代码片段 4:DataFrame的构造、访问和映射
from math import tau
from numpy.random import default_rngrng = 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.
这篇关于【深耕 Python】Data Science with Python 数据科学(8)pandas数据结构:Series和DataFrame的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!