在 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
更改为秒,依此类推。
相关文章
如何从 Pandas 的日期时间列中提取月份和年份
发布时间:2024/04/23 浏览次数:124 分类:Python
-
我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。
如何检查 NaN 是否存在于 Pandas DataFrame 中
发布时间:2024/04/23 浏览次数:188 分类:Python
-
我们可以使用 isnull()和 isna()方法检查 Pandas DataFrame 中是否存在 NaN。
DataFrame 获取给定列的第一行
发布时间:2024/04/22 浏览次数:51 分类:Python
-
本教程介绍了如何在 Pandas DataFrame 中使用 Series.loc()和 Series.iloc()方法获取给定列的第一行。
如何基于 Pandas 中的给定条件创建 DataFrame 列
发布时间:2024/04/22 浏览次数:147 分类:Python
-
我们可以使用列表推导技术,numpy 方法,apply()方法和 map()方法对 Pandas 中的给定条件创建 DataFrame 列。
在 Pandas 的 DataFrame 中合并两列文本
发布时间:2024/04/22 浏览次数:99 分类:Python
-
在 Pandas 库中使用 + 运算符,apply(),map(),str.cat(),agg()方法在 DataFrame 中合并列