共计 2356 个字符,预计需要花费 6 分钟才能阅读完成。
在批发、经济和金融等行业,数据总是因为货币和销售而一直变动,生成的所有数据都高度依赖于工夫。如果这些数据没有工夫戳或标记,实际上很难治理所有收集的数据。Python 程序容许咱们应用 NumPy timedelta64 和 datetime64 来操作和检索工夫序列数据。sklern 库中也提供工夫序列性能,但 Pandas 为咱们提供了更多且好用的函数。
Pandas 库中有四个与工夫相干的概念
- 日期工夫:日期工夫示意特定日期和工夫及其各自的时区。它在 pandas 中的数据类型是 datetime64[ns] 或 datetime64[ns, tz]。
- 工夫增量:工夫增量示意工夫差别,它们能够是不同的单位。示例:“天、小时、减号”等。换句话说,它们是日期工夫的子类。
- 时间跨度:时间跨度被称为固定周期内的相干频率。时间跨度的数据类型是 period[freq]。
- 日期偏移:日期偏移有助于从以后日期计算选定日期,日期偏移量在 pandas 中没有特定的数据类型。
工夫序列剖析至关重要,因为它们能够帮忙咱们理解随着工夫的推移影响趋势或零碎模式的因素。在数据可视化的帮忙下,剖析并做出后续决策。
当初让咱们看几个应用这些函数的例子
1、查找特定日期的某一天的名称
import pandas as pd
day = pd.Timestamp(‘2021/1/5’)
day.day_name()
下面的程序是显示特定日期的名称。第一步是导入 panda 的并应用 Timestamp 和 day_name 函数。“Timestamp”性能用于输出日期,“day_name”性能用于显示指定日期的名称。
2、执行算术计算
import pandas as pd
day = pd.Timestamp(‘2021/1/5’)
day1 = day + pd.Timedelta(“3 day”)
day1.day_name()
day2 = day1 + pd.offsets.BDay()
day2.day_name()
在第一个代码中,显示三天后日期名称。“Timedelta”性能容许输出任何天单位(天、小时、分钟、秒)的时差。
在第二个代码中,应用“offsets.BDay()”函数来显示下一个工作日。换句话说,这意味着在星期五之后,下一个工作日是星期一。
3、应用时区信息来操作转换日期工夫
获取时区的信息
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = dat_ran.tz_localize(“UTC”)
dat_ran
转换为美国时区
dat_ran.tz_convert(“US/Pacific”)
代码的指标是更改日期的时区。首先须要找到以后时区。这是“tz_localize()”函数实现的。咱们当初晓得以后时区是“UTC”。应用“tz_convert()”函数,转换为美国 / 太平洋时区。
4、应用日期工夫戳
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = pd.date_range(start =‘1/1/2021’, end =‘1/5/2021’, freq =‘Min’)
print(type(dat_ran[110]))
5、创立日期系列
import pandas as pd
import numpy as np
from datetime import datetime
dat_ran = pd.date_range(start =‘1/1/2021’, end =‘1/5/2021’, freq =‘Min’)
print(dat_ran)
下面的代码生成了一个日期系列的范畴。应用“date_range”函数,输出开始和完结日期,能够取得该范畴内的日期。
6、操作日期序列
import pandas as pd
from datetime import datetime
import numpy as np
dat_ran = pd.date_range(start =’1/1/2019', end =’1/08/2019',freq =’Min’)
df = pd.DataFrame(dat_ran, columns =[‘date’])
df[‘data’] = np.random.randint(0, 100, size =(len(dat_ran)))
print(df.head(5))
在下面的代码中,应用“DataFrame”函数将字符串类型转换为 dataframe。最初“np.random.randint()”函数是随机生成一些假设的数据。
7、应用工夫戳数据对数据进行切片
import pandas as pd
from datetime import datetime
import numpy as np
dat_ran = pd.date_range(start =’1/1/2019', end =’1/08/2019', freq =’Min’)
df = pd.DataFrame(dat_ran, columns =[‘date’])
df[‘data’] = np.random.randint(0, 100, size =(len(dat_ran)))
string_data = [str(x) for x in dat_ran]
print(string_data[1:5])
下面代码是是第 6 条的的连续。在创立 dataframe 并将其映射到随机数后,对列表进行切片。
最初总结,本文通过示例演示了工夫序列和日期函数的所有基础知识。倡议参考本文中的内容并尝试 pandas 中的其余日期函数进行更深刻的学习,因为这些函数在咱们理论工作中十分的重要。
https://www.overfit.cn/post/239408baf03b45ed96e1fe346af4f4f5
作者:Amit Chauhan