暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python中的大熊猫(Pandas)之二

健谈始于戊戌年 2021-07-01
1143
大熊猫就是不一样,走到哪儿都受欢迎。就连Python中的大熊猫也有很多读者感兴趣,那我们就书接上文,继续讲Pandas!
 
4. 数据过滤

有时候我们需要找到满足某一个条件的数据。例如气温为某一个温度的数据。这时候就可以用到Python中的“面具”。

这就是Mask,它是根据某一条件判断对错的一系列结果。假如我们想看到温度是否为-1.8,那么当数据为-1.8时返回正确(True),否则返回错误(False)。

mask = (weather['Temp (C)'] == -1.8)
mask.head()
                           
我们可以看一下mask里面的数据。这里面只有气温为-1.8时的数据。

weather_test = weather[mask]
weather_test.head(10)

 
当然,有的时候需要满足多个条件。这时候就可以用到“&”符号来连接两个条件,例如:
 
mask = (weather['Temp (C)'] == -1.8) &(weather['Visibility (km)'] == 8.0)
weather[mask]
 
这是就可以得到温度为-1.8,能见度为8的数据。


 
5. Pandas中的数理统计功能

虽然最大值、最小值、平均值这样的统计分析看起来很简单,但却很重要。假如投资者不在股价最大值的时候满仓入场,不在股价最小值的时候清仓,就不会在投资中造成巨大的可亏损。

言归正传,虽然预测天气还是比预测股市容易很多。我们来看一些气温的平均值、最大值和最小值:

weather['Temp(C)'].mean()
8.79814435336981
print(weather['Temp (C)'].max())
33.0
print(weather['Temp(C)'].min())
-23.3

这些功能并不难。


 
6. 新增一列

有的时候,我们对已有的数据做一个简单的处理。比方说原始数据中投资者账户金额为1234567890元。这是多少钱?不直观。所以你想把它改为123456.789万,或者12.3456789亿。这样就清晰了。

我们来看看如何解决这个问题。在天气的数据中,我们可以新增一列可见度百分比。它是可见度和最大可见度的比例。用Python可以这样写:

max_vis = weather['Visibility (km)'].max()
weather['percent_visibility'] = weather['Visibility(km)']/max_vis
weather.head()
 
于是,我们就在最后增加了percent_visibility一列。
 

 
7. Pandas的绘图功能

通俗地讲,学编程就是为了画图。要是说得专业一点,那就叫可视化(Visualization)。一副好的图片胜过千言万语!所以,我们必须讲一下画图。

先来看看直方图,可以用到plot.hist()。当然还要有坐标轴名称,就是这样:

weather['Temp (C)'].plot.hist()
plt.xlabel("Temperature (C)");
plt.xticks()

图中,横轴是气温,纵轴是频率,也就是该气温出现的次数。我们可以发现这个地方的气温大部分在0-20度之间。零下的温度比20度以上的温度多,看来这个地方相对比较冷。


我们还可以把气温用线段连起来

weather['Temp (C)'].plot.line()

画出下面的图。由于我们的数据是2012年1月1日起每个小时的气温,所以我们看到开始气温比较低,随后升温,到了冬天,气温又有所下降。通过画图,我们让天气的数据一目了然!

 
好了,这就是关于Pandas一个简单的介绍。大家有什么问题,可以留言交流。

千里之行始于足下!不论Python多么高深,也是由一个个简单的数据、函数、库构成。接下来我们还会介绍Python中的Numpy,sklearn等,敬请期待!
文章转载自健谈始于戊戌年,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论