欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas實(shí)現(xiàn)datetime64與unix時間戳互轉(zhuǎn)

 更新時間:2022年07月16日 09:43:56   作者:Bruce-XIAO  
這篇文章主要介紹了pandas實(shí)現(xiàn)datetime64與unix時間戳互轉(zhuǎn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

datetime64與unix時間戳互轉(zhuǎn)

在用pandas處理數(shù)據(jù)時,經(jīng)常要處理一些時間類型數(shù)據(jù),經(jīng)常把pandas時間類型與datetime模塊,還有python自帶的time模塊搞混淆,記錄之。

unix 時間戳與pandas中的Timestamp互轉(zhuǎn)

import time
def unixToTime(unixtime):
? ? return pd.to_datetime(unixtime,unit='s',utc=True).tz_convert('Asia/Shanghai') #utc時間比上海時間少8小時,做時區(qū)轉(zhuǎn)換
?
def timeToUnix(dt64):
? ? return dt64.astype('datetime64[s]').astype('int')
?
unixtime = 1514737265
print(unixToTime(unixtime))
?
#python 自帶time模塊的local_time可以直接轉(zhuǎn)北京時間
struct_time = time.localtime(unixtime)
print(struct_time)
#轉(zhuǎn)化格式
dd = time.strftime("%Y-%m-%d %H:%M:%S",struct_time)
print(dd)

輸出:

2018-01-01 00:21:05+08:00
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=21, tm_sec=5, tm_wday=0, tm_yday=1, tm_isdst=0)
2018-01-01 00:21:05

datetime模塊

python中還有一個datetime模塊,這個模塊包含一些函數(shù),如today,now,fromtimestamp,strptime,Datetime

from datetime import datetime
import pandas as pd
startTime = datetime.now()
print(startTime)
print(type(startTime))
?
#datetime 字符串轉(zhuǎn)時間戳
timestr = '2018-01-01 00:21:05'
date_time = datetime.strptime(timestr, "%Y-%m-%d %H:%M:%S")
print(type(date_time))
print(date_time)

輸出:

2020-12-16 22:22:42.451086
<class 'datetime.datetime'>

#pandas 字符串轉(zhuǎn)時間戳
pd_time = pd.to_datetime(time,format="%Y-%m-%d %H:%M:%S")
?
#或者
#time = datetime(2018,1,1,0,21,5)
#pd_time = pd.to_datetime(timestr,format="YYYY-MM-DD HH:MM:SS")
?
print(type(pd_time))
print(pd_time)

輸出:

<class 'datetime.datetime'>
2018-01-01 00:21:05

#取到年,月,日,日期,小時,分鐘,秒以及一周中的第幾天
year = pd_time.year
month = ?pd_time.month
day = pd_time.day
date = ?pd_time.date
hour = ?pd_time.hour
minute = ?pd_time.minute
seconds = ?pd_time.second
print(year)
print(month)
print(day)
print(hour)
print(minute)
print(seconds)

輸出:

2018
1
1
0
21
5

pandas默認(rèn)時間格式轉(zhuǎn)換為unix間戳

Pandas讀取csv文件時,時間會自動顯示為‘YYYY-MM-DD HH:MM:SS’的格式,那么如果想要將這個時間轉(zhuǎn)換為 Unix時間戳 呢?

先科普一下,什么是 Unix時間戳 呢?

Unix時間戳 是一種時間表示方式,是一個整型值,代表從格林威治時間1970年01月01日00時00分00秒起至現(xiàn)在經(jīng)過的總秒數(shù)。

舉個栗子

一個值為 1492751843 的Unix時間戳 ==>

把它轉(zhuǎn)換為 北京時間為 2017/4/21 13:17:23

實(shí)際上,Pandas中時間用 pandas.datetime() 轉(zhuǎn)換為 pandas.tslib.Timestamp(時間戳) 格式之后,已經(jīng)變成了整型存儲,即 Unix時間戳形式 。

如果我們需要這個時間戳的整型格式,可以用 time[0].value 這個屬性把它提取出來。

樣例

>>> import pandas as pd ? ? # 導(dǎo)入pandas庫
>>> data = pd.read_csv('airquality.csv') ? ? ? ?# 讀入數(shù)據(jù)文件
>>> data.time = pd.to_datetime(data.time) ? # 將時間那一列從str轉(zhuǎn)換為時間戳格式
>>> type(data.time[0]) ? ? ?# 查看轉(zhuǎn)換之后的格式
<class 'pandas.tslib.Timestamp'>
>>> data.time[0] ? ? ? ? ? ?# 查看第一條數(shù)據(jù),默認(rèn)顯示為‘YYYY-MM-DD HH:MM:SS'格式
Timestamp('2014-05-01 00:00:00')
>>> data.time[0].value ?# 查看第一條數(shù)據(jù)的Unix時間戳格式
1398902400000000000L
>>> data.time[0].value//10**9 ? # 轉(zhuǎn)換為秒級
1398902400L
>>> t1 = [t.value for t in data.time] ? # 提取整列(納秒級,即1s = 1,000,000,000 ns)
>>> t1[:3] ? ? ?# 顯示前三條數(shù)據(jù)
[1398902400000000000L, 1398906000000000000L, 1398909600000000000L]
>>> t2 = [t.value//10**9 for t in data.time] ? ?# 提取整列(秒級)
>>> t2[:3] ? ? ?# 顯示前三條數(shù)據(jù)
[1398902400L, 1398906000L, 1398909600L]
>>> t1 = pd.DatetimeIndex(t1) ? ? ? # 從list列表轉(zhuǎn)換為pandas的DatetimeIndex格式
>>> t1[:3] ? ? ?# 顯示前三條數(shù)據(jù)
DatetimeIndex(['2014-05-01 00:00:00', '2014-05-01 01:00:00',
? ? ? ? ? ? ? ?'2014-05-01 02:00:00'],
? ? ? ? ? ? ? dtype='datetime64[ns]', freq=None)
>>> type(t1[0]) ? ? # 每條數(shù)據(jù)為Timestamp格式
<class 'pandas.tslib.Timestamp'>
>>> t1[0].value
1398902400000000000L

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python通過函數(shù)名調(diào)用函數(shù)的幾種場景

    python通過函數(shù)名調(diào)用函數(shù)的幾種場景

    這篇文章主要介紹了python通過函數(shù)名調(diào)用函數(shù)的幾種場景,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python基礎(chǔ)詳解之郵件處理

    Python基礎(chǔ)詳解之郵件處理

    這篇文章主要介紹了Python基礎(chǔ)詳解之郵件處理,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python爬蟲入門教程--HTML文本的解析庫BeautifulSoup(四)

    python爬蟲入門教程--HTML文本的解析庫BeautifulSoup(四)

    Beautiful Soup是python的一個庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù)。下面這篇文章主要給大家介紹了python爬蟲之HTML文本的解析庫BeautifulSoup的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • python中的斷言(assert語句)

    python中的斷言(assert語句)

    這篇文章主要介紹了python中的斷言(assert語句),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 使用Python的datetime庫處理時間(RPA流程)

    使用Python的datetime庫處理時間(RPA流程)

    datetime 是 Python 處理日期和時間的標(biāo)準(zhǔn)庫。這篇文章主要介紹了使用Python的datetime庫處理時間(RPA流程),需要的朋友可以參考下
    2019-11-11
  • Python Multinomial Naive Bayes多項(xiàng)貝葉斯模型實(shí)現(xiàn)原理介紹

    Python Multinomial Naive Bayes多項(xiàng)貝葉斯模型實(shí)現(xiàn)原理介紹

    這篇文章主要介紹了Python Multinomial Naive Bayes多項(xiàng)貝葉斯模型實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • PyCharm設(shè)置每行最大長度限制的方法

    PyCharm設(shè)置每行最大長度限制的方法

    今天小編就為大家分享一篇PyCharm設(shè)置每行最大長度限制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python?opencv的imread方法無法讀取圖片問題

    python?opencv的imread方法無法讀取圖片問題

    這篇文章主要介紹了python?opencv的imread方法無法讀取圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 一文帶你掌握Python中的雙下劃線寫法

    一文帶你掌握Python中的雙下劃線寫法

    在?Python?中,雙下劃線--也被稱為“dunder”--是一種用于修飾類屬性名稱或類方法名稱的行為,下面小編就來和大家詳細(xì)講講如何在Python中使用雙下劃線吧
    2023-10-10
  • django 解決擴(kuò)展自帶User表遇到的問題

    django 解決擴(kuò)展自帶User表遇到的問題

    這篇文章主要介紹了django 解決擴(kuò)展自帶User表遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論