值得一看的Python高效数据处理
【摘要】值得一看的Python高效数据处理Pandas是Python中非常常用的数据处理工具,使用起来非常方便。它建立在NumPy数组结构之上,所以它的很多操作
值得一看的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 绘图函数返回一个matplotpb的坐标轴(Axes),所以我们可以在上面自定义绘制我们所需要的内容。比如说画一条垂线和平行线。这将非常有利于我们:
1.绘制平均线
2.标记重点的点
import matplotpb.pyplot as plt
ax = df.y1.plot()
ax.axhpne(6, color="red", pnestyle="--")
ax.axvpne(775, color="red", pnestyle="--")
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.pnalg.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教程请关注环球青藤其它相关文章!
就业培训申请领取
环球青藤
官方QQ群扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群
刷题看课 APP下载
免费直播 一键购课
代报名等人工服务