gpt4 book ai didi

python - 用 pandas 绘制两个变量之间的关系

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:03 24 4
gpt4 key购买 nike

我是 python 的新手,但知道 pandas 的用处,因此我想请教是否有人可以帮助我使用 pandas 来解决以下问题。

我有一个包含公交车的数据集,如下所示:

BusModel;BusID;ModeName;Value;Unit;UtcTime
Alpha;0001;Engine hours;985;h;2016-06-22 19:58:09.000
Alpha;0001;Engine hours;987;h;2016-06-22 21:58:09.000
Alpha;0001;Engine hours;989;h;2016-06-22 23:59:09.000
Alpha;0001;Fuel consumption;78;l;2016-06-22 19:58:09.000
Alpha;0001;Fuel consumption;88;l;2016-06-22 21:58:09.000
Alpha;0001;Fuel consumption;98;l;2016-06-22 23:59:09.000

文件为.csv格式,以分号(;)分隔。请注意,我想根据 UtcTime 通过“计算每天两者的平均值”来绘制“引擎小时数”和“燃料消耗量”之间的关系。此外,我想为数据集中的所有总线绘制图表(不仅是 0001,还有 0002、0003 等)。我如何使用简单的循环来做到这一点?

最佳答案

启动如下交互模式

import pandas as pd

df = pd.read_csv('bus.csv', sep=";", parse_dates=['UtcTime'])

您应该能够开始使用 DataFrame 并发现可以直接与数据一起使用的函数。要按 ID 获取公交车列表,只需执行以下操作:

>>> bus1 = df[df.BusID == 1]
>>> bus1

用您需要的总线 ID 替换 1。这将返回一个子DataFrame。要获得 BusID 1 和他们的引擎小时数,请执行以下操作:

>>> bus1[bus1.ModeName == "Engine hours"]

您可以通过执行快速获取列的统计信息

>>> bus1.Value.describe()

一旦你对你需要的数据进行了分组,你就可以开始绘图了:

>>> bus1[bus1.ModeName == "Engine hours"].plot()
>>> bus1[bus1.ModeName == "Fuel consumption"].plot()
>>> plt.show()

文档上有更多解释。请引用http://pandas.pydata.org/pandas-docs/stable/ .

关于python - 用 pandas 绘制两个变量之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37967151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com