python-pandas按各种时间统计

news/2024/11/8 15:07:06/

使用到的库

pandas、matplotlib、numpy

使用到的函数

df.resample(“H”).sum()

参数
B business day frequency
C custom business day frequency (experimental)
D calendar day frequency
W weekly frequency
M month end frequency
BM business month end frequency
CBM custom business month end frequency
MS month start frequency
BMS business month start frequency
CBMS custom business month start frequency
Q quarter end frequency
BQ business quarter endfrequency
QS quarter start frequency
BQS business quarter start frequency
A year end frequency
BA business year end frequency
AS year start frequency
BAS business year start frequency
BH business hour frequency
H hourly frequency
T minutely frequency
S secondly frequency
L milliseonds
U microseconds
N nanoseconds

主要思路

  1. 从csv中读取数据
  2. 将带有时间的列进行装换
  3. 将object的字符串转成时间,将字符串转成datetime64[ns],再转成float64
# 时间格式的字符串转datetime64[ns]df["报修时间"]=pd.to_datetime(df["报修时间"])# datetime64[ns],再转成float64df["报修时间"]=(df["报修时间"] - np.datetime64('1970-01-01T00:00:00Z')) / np.timedelta64(1, 's')
  1. 将数df设置成使用时间
df=df.set_index(df["date"])
  1. 利用resample进行统计
新增加一列便于统计
df["new"] = 1# 统计命令
df["new"].resample("H").sum().head(40)输出
>>> df["new"].resample("H").sum().head(40)
date
2023-01-01 04:00:00    1
2023-01-01 05:00:00    0
2023-01-01 06:00:00    0
2023-01-01 07:00:00    0
  1. 画图
>>> df2["2023-01-02"].plot
<pandas.plotting._core.PlotAccessor object at 0x0000027582973910>
>>> plt.show()
>>> df2["2023-01-02"].plot()
<Axes: xlabel='date'>
>>> plt.show()
>>> df2["2023-01-02"].plot()
<Axes: xlabel='date'>
>>> df2["2023-01-03"].plot()
<Axes: xlabel='date'>
>>> df2["2023-01-01"].plot()
<Axes: xlabel='date'>
>>> plt.show()

参考
https://blog.csdn.net/weixin_42357472/article/details/115301527
https://blog.csdn.net/AlexTan_/article/details/89763389


http://www.ppmy.cn/news/142398.html

相关文章

内核 panic

/* * 2023/5/31 11:45 qing 38度 */ /* * Unable to handle kernel NULL pointer dereference at virtual address 00000000 */ 非法地址访问出错,使用了空指针 /* * BUG: scheduling while atomic: fpv_cams/605/0x00010001 */ 试图在不应该休眠的地…

国产给力啊啊啊----国产MCU-CW32F030开发学习

国产MCU-CW32F030开发学习 1. 相关资料下载 1.1 武汉芯源半导体 武汉芯源半导体官网 武汉芯源半导体 武汉芯源 21ic 电子论坛 21ic 电子论坛 1.2 CW32F030系列资料 CW32F030技术文档 • 内核&#xff1a;ARM Cortex-M0 – 最高主频64MHz • 工作温度&#xff1a;-40℃ 至…

安卓MVI架构模式常见问题:View层接收不到新的StateFlow状态

1、检查ui层是否正确监听了Flow 如果监听操作封装在ui层的基类&#xff0c;如BaseActivity&#xff0c;的initView方法中&#xff0c;那么实现类在重新父类的initView方法时&#xff0c;必须调用super.initView() 2、检查Ui层当前的ViewModel和发送新ui状态的ViewModel是否是…

uni-app使用echarts绘制数据可视化图

先打开项目 然后选择 使用命令行窗口打开所在目录(U) 在弹出的终端中输入指令来引入依赖 npm install echarts然后 我们 打开echarts的官网 点击这里这个 示例 找一个自己喜欢的案例点进去 我这里就用一个最简单的吧 代码看着不会乱 将他这个 option中的内容复制出来 然后…

Qt 帮助项目

Qt帮助项目收集生成压缩帮助文件所需的所有数据。除了诸如目录&#xff0c;索引关键字和帮助文档之类的实际帮助数据外&#xff0c;它还包含一些其他信息&#xff0c;例如用于标识帮助文件的名称空间。一个帮助项目代表一个文档集。 Qt帮助项目文件格式 文件格式是基于XML的。…

Error running Android Debugger (8600): Unable to open debugger port (localhost:8600): java.net.Conne

adb kill-server adb start-server 在AS底部找到Terminal 命令输入框&#xff0c;依次输入上面两个命令

z370完美黑苹果_完工!搞掂i5-8600K 华硕PRIME Z370-P GTX 1060黑苹果安装

鲁大师配置图CPU&#xff1a;i5-8600K&#xff0c;主板&#xff1a;华硕PRIME Z370-P&#xff0c;内存&#xff1a;16GB&#xff0c;主硬盘&#xff1a;三星SSD 750EVO 250GB,显卡&#xff1a;GTX 1060 6GB技嘉&#xff0c;声卡&#xff1a;ALC887&#xff0c;网卡&#xff1a;…

惠普HP Officejet Pro 8600 Plus-N911g 打印机驱动

惠普HP Officejet Pro 8600 Plus-N911g 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10…