在 Pandas 中將 Timedelta 轉換為 Int
本教程將討論使用 Pandas 中的 dt
屬性將 timedelta
轉換為 int
。
使用 Pandas 中的 dt
屬性將 timedelta
轉換為 int
要將 timedelta
轉換為整數值,我們可以使用 pandas
庫的 dt
屬性。dt
屬性允許我們提取 timedelta
的元件。例如,我們可以使用 dt
屬性提取年、月、日、分或秒。為此,我們需要在 dt
屬性後寫入元件的名稱。要顯示 timedelta
變數的所有元件,我們可以使用 components
屬性。例如,讓我們使用 pandas Series
屬性建立一個時間序列,並使用 components
屬性顯示其元件。
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start='1 days', end='10 days', freq='1500T'))
time_series.dt.components
輸出:
如你所見,components
屬性顯示了時間序列的所有元件。timedelta_range()
屬性在上面的程式碼中用於建立時間序列。我們可以在 timedelta_range()
屬性中定義起點和終點以及時間變化的頻率。我們可以使用該元件的名稱提取這些元件中的任何一個。例如,讓我們從上述時間序列中提取天陣列件。請參閱下面的程式碼。
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start='1 days', end='10 days', freq='1500T'))
time_series.dt.days
輸出:
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
你可以從上述時間序列中提取你想要的任何元件。我們還可以通過將 timedelta
除以一天的 timedelta
或使用 astype()
屬性提取其整數部分來將 timedelta
轉換為整數。例如,讓我們建立一個 timedelta
物件並使用 NumPy
將其轉換為整數以獲取當天的值。請參閱下面的程式碼。
import numpy as np
x = np.timedelta64(2058311000000000, 'ns')
day = x.astype('timedelta64[D]')
days.astype(int)
輸出:
23.0
timedelta
實際上是 int64
資料型別,我們可以通過使用 astype()
屬性將其轉換為 int
來提取我們想要的元件。我們還可以使用相同的方法將 timedelta
轉換為小時或秒或任何其他元件。為此,我們需要將程式碼第三行中的 D
更改為 h
表示小時,將 s
更改為秒,依此類推。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn