值得一看的Python高效数据处理-Python教程

资源魔 17 0

值患上一看的Python高效数据解决

Pandas是Python中十分罕用的数据解决对象,应用起来十分不便。它建设正在NumPy数组构造之上,以是它的不少操作经过NumPy或许Pandas自带的扩大模块编写,这些模块用Cython编写并编译到C,而且正在C上执行,因而也保障了解决速率。

明天咱们就来体验一下它的弱小的地方。

1.创立数据

应用pandas能够很不便地进行数据创立,如今让咱们创立一个5列1000行的pandas DataFrame:

mu1, sigma1 = 0, 0.1
mu2, sigma2 = 0.2, 0.2
n = 1000df = pd.DataFrame(
    {
        "a1": pd.np.random.normal(mu1, sigma1, n),
        "a2": pd.np.random.normal(mu2, sigma2, n),
        "a3": pd.np.random.randint(0, 5, n),
        "y1": pd.np.logspace(0, 1, num=n),
        "y2": pd.np.random.randint(0, 2, n),
    }
)
  • a1以及a2:从正态(高斯)散布中抽取的随机样本。
  • a3:0到4中的随机整数。
  • y1:从0到1的对数刻度平均散布。
  • y2:0到1中的随机整数。

天生以下所示的数据:

2.绘制图象

Pandas 画图函数前往一个matplotlib的坐标轴(Axes),以是咱们能够正在下面自界说绘制咱们所需求的内容。比方说画一条垂线战争行线。这将十分无利于咱们:

1.绘制均匀线

2.标志重点的点

import matplotlib.pyplot as plt
ax = df.y1.plot()
ax.axhline(6, color="red", linestyle="--")
ax.axvline(775, color="red", linestyle="--")
plt.show()

咱们还能够自界说一张图上显示几何个表:

fig, ax = plt.subplots(2, 2, figsize=(14,7))
df.plot(x="index", y="y1", ax=ax[0, 0])
df.plot.scatter(x="index", y="y2", ax=ax[0, 1])
df.plot.scatter(x="index", y="a3", ax=ax[1, 0])
df.plot(x="index", y="a1", ax=ax[1, 1])
plt.show()

3.绘制直方图

Pandas可以让咱们用十分简略的形式取得两个图形的形态比照:

df[["a1", "a2"]].plot(bins=30, kind="hist")
plt.show()

还能容许多图绘制:

df[["a1", "a2"]].plot(bins=30, kind="hist", subplots=True)
plt.show()

当然,天生折线图也没有正在画下:

df[['a1', 'a2']].plot(by=df.y2, subplots=True)
plt.show()

4.线性拟合

Pandas还能用于拟合,让咱们用pandas找出一条与下图最靠近的直线:

最小二乘法较量争论以及该直线最短间隔:

df['ones'] = pd.np.ones(len(df))
m, c = pd.np.linalg.lstsq(df[['index', 'ones']], df['y1'], rcond=None)[0]

依据最小二乘的后果绘制y以及拟合进去的直线:

df['y'] = df['index'].apply(lambda x: x * m + c)
df[['y', 'y1']].plot()
plt.show()

感激各人的浏览,心愿各人收益多多。

本文转自:https://blog.csdn.net/u010751000/article/details/106735872

保举教程:《python教程》

以上就是值患上一看的Python高效数据解决的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题 pandas

抱歉,评论功能暂时关闭!