在 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 DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串