目录
99、pandas.Series.to_timestamp方法
一、用法精讲
96、pandas.Series.bool属性
96-1、语法
# 96、pandas.Series.bool属性
pandas.Series.bool()
Return the bool of a single element Series or DataFrame.
Deprecated since version 2.1.0: bool is deprecated and will be removed in future version of pandas. For Series use pandas.Series.item.
This must be a boolean scalar value, either True or False. It will raise a ValueError if the Series or DataFrame does not have exactly 1 element, or that element is not boolean (integer values 0 and 1 will also raise an exception).
Returns:
bool
The value in the Series or DataFrame.
96-2、参数
无
96-3、功能
用于将pandas.Series中的唯一元素转换为布尔值。
96-4、返回值
返回一个布尔值,若Series对象的唯一元素为True,则返回True;反之,则返回False。
96-5、说明
使用bool()来强制转换Series对象为布尔值,前提是Series对象中只能有一个元素。
96-6、用法
96-6-1、数据准备
无
96-6-2、代码示例
# 96、pandas.Series.bool属性
import pandas as pd
s = pd.Series([True])
print(s.bool())
s2 = pd.Series([False])
print(s2.bool())
96-6-3、结果输出
# 96、pandas.Series.bool属性
# True
# False
97、pandas.Series.to_numpy方法
97-1、语法
# 97、pandas.Series.to_numpy方法
pandas.Series.to_numpy(dtype=None, copy=False, na_value=_NoDefault.no_default, **kwargs)
A NumPy ndarray representing the values in this Series or Index.
Parameters:
dtype
str or numpy.dtype, optional
The dtype to pass to numpy.asarray().
copy
bool, default False
Whether to ensure that the returned value is not a view on another array. Note that copy=False does not ensure that to_numpy() is no-copy. Rather, copy=True ensure that a copy is made, even if not strictly necessary.
na_value
Any, optional
The value to use for missing values. The default value depends on dtype and the type of the array.
**kwargs
Additional keywords passed through to the to_numpy method of the underlying array (for extension arrays).
Returns:
numpy.ndarray
97-2、参数
97-2-1、dtype(可选,默认值为None):指定返回数组的数据类型。如果未提供,方法将使用Series的数据类型。
97-2-2、copy(可选,默认值为False):表示是否强制创建副本,如果为True,则强制创建一个新的数组副本;否则,如果可能,方法会返回原始数据的视图而不是副本。
97-2-3、na_value(可选):用于替换缺失值(NaN或None)的标量值,只有在dtype为对象类型时才有效。如果提供此参数,方法会用指定的标量值替换Series中的缺失值。
97-2-4、**kwargs(可选):其他额外的关键字参数,通常不会用到。
97-3、功能
用于将Series对象中的数据提取出来,并转换为NumPy数组。
97-4、返回值
返回值是一个NumPy数组(numpy.ndarray),它包含了Series中的数据。
97-5、说明
返回值的特点:
97-5-1、数据类型: 数组的元素类型会根据Series的数据类型自动调整,除非你显式指定了dtype参数。例如,如果Series中包含整数,返回的NumPy数组也会是整数类型,除非你指定了不同的数据类型。
97-5-2、缺失值处理: 如果Series中有缺失值(NaN或None),并且没有指定na_value参数,返回的数组会保留这些缺失值。例如,缺失值会被表示为NaN或适当的NaN替代值,取决于数据类型。
97-5-3、副本与视图: 如果copy参数设置为True,返回的数组是Series数据的副本;如果copy参数为False,则返回的数组可能是原始数据的视图,这取决于数据的内存布局。
97-6、用法
97-6-1、数据准备
无
97-6-2、代码示例
# 97、pandas.Series.to_numpy方法
import pandas as pd
import numpy as np
# 创建一个Series对象
s = pd.Series([1, 2, np.nan, 4])
# 转换为NumPy数组
array = s.to_numpy()
print(array)
print(type(array))
97-6-3、结果输出
# 97、pandas.Series.to_numpy方法
# [ 1. 2. nan 4.]
# <class 'numpy.ndarray'>
98、pandas.Series.to_period方法
98-1、语法
# 98、pandas.Series.to_period方法
pandas.Series.to_period(freq=None, copy=None)
Convert Series from DatetimeIndex to PeriodIndex.
Parameters:
freqstr, default None
Frequency associated with the PeriodIndex.
copybool, default True
Whether or not to return a copy.
Note
The copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.
You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True
Returns:
Series
Series with index converted to PeriodIndex.
98-2、参数
98-2-1、freq(可选,默认值为None):指定时间段的频率(如'D'表示日,'M'表示月),如果不指定,方法会根据Series的数据自动推断频率。
98-2-2、copy(可选,默认值为None):布尔值,如果为True
,会返回副本;如果为False
,会返回视图;如果没有特别需求,通常可以使用默认值。
98-3、功能
用于将Series对象的时间戳数据转换为Period对象,Period对象对象代表特定的时间段(如日、月、年等),而不是单一的时间点。
98-4、返回值
返回一个Period类型的Series,其频率由freq参数指定。
98-5、说明
无
98-6、用法
98-6-1、数据准备
无
98-6-2、代码示例
# 98、pandas.Series.to_period方法
import pandas as pd
# 创建一个DatetimeIndex,这次我们为每个年份指定一个具体的日期(例如,每年的1月1日)
idx = pd.DatetimeIndex(['2023-01-01', '2024-01-01', '2025-01-01'])
# 创建一个Series,使用上述索引
s = pd.Series([1, 2, 3], index=idx)
# 现在我们可以安全地将Series转换为Period类型,这里我们将其转换为年度周期
s = s.to_period('Y')
print(s)
98-6-3、结果输出
# 98、pandas.Series.to_period方法
# 2023 1
# 2024 2
# 2025 3
# Freq: Y-DEC, dtype: int64
99、pandas.Series.to_timestamp方法
99-1、语法
# 99、pandas.Series.to_timestamp方法
pandas.Series.to_timestamp(freq=None, how='start', copy=None)
Cast to DatetimeIndex of Timestamps, at beginning of period.
Parameters:
freqstr, default frequency of PeriodIndex
Desired frequency.
how{‘s’, ‘e’, ‘start’, ‘end’}
Convention for converting period to timestamp; start of period vs. end.
copybool, default True
Whether or not to return a copy.
Note
The copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.
You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True
Returns:
Series with DatetimeIndex
99-2、参数
99-2-1、freq(可选,默认值为None):指定转换后的时间戳的频率,可以是'D'(日频率)、'H'(小时频率)、'T'(分钟频率)等,如果不指定(默认为None),则时间戳的频率与原周期相同。
99-2-2、how(可选,默认值为'start'):指定周期的起始时间或结束时间,可以取以下两个值:
99-2-2-1、'start':周期的开始时间。
99-2-2-2、'end':周期的结束时间。
99-2-3、copy(可选,默认值为None):是否返回一个副本,设置为True时,返回一个新的Series对象,不修改原始数据;设置为False时,直接在原数据上进行操作;如果为None,则依据是否可以在原地操作来决定是否返回副本。
99-3、功能
用于将PeriodIndex或Period对象的Series转换为DatetimeIndex对象的Series。
99-4、返回值
返回一个Series对象,其中的索引为DatetimeIndex对象,包含了每个周期的时间戳(根据how参数的设置)。如果指定了freq参数,返回的Series将会应用该频率进行重采样。
99-5、说明
无
99-6、用法
99-6-1、数据准备
无
99-6-2、代码示例
# 99、pandas.Series.to_timestamp方法
import pandas as pd
# 创建一个DatetimeIndex,这次我们为每个年份指定一个具体的日期(例如,每年的1月1日)
idx = pd.DatetimeIndex(['2023-01-01', '2024-01-01', '2025-01-01'])
# 创建一个Series,使用上述索引
s = pd.Series([1, 2, 3], index=idx)
# 将Series的索引转换为PeriodIndex
s_period = s.index.to_period('Y')
# 将PeriodIndex转换为时间戳,如何使用 'start' 参数
s_timestamp = s_period.to_timestamp(how='start')
# 使用新的时间戳索引创建Series
s = pd.Series(s.values, index=s_timestamp)
print(s)
99-6-3、结果输出
# 99、pandas.Series.to_timestamp方法
# 2023-01-01 1
# 2024-01-01 2
# 2025-01-01 3
# Freq: YS-JAN, dtype: int64
100、pandas.Series.to_list方法
100-1、语法
# 100、pandas.Series.to_list方法
pandas.Series.to_list()
Return a list of the values.
These are each a scalar type, which is a Python scalar (for str, int, float) or a pandas scalar (for Timestamp/Timedelta/Interval/Period)
Returns:
list
100-2、参数
无
100-3、功能
用于将Series对象转换为Python的列表(list)。
100-4、返回值
返回一个Python列表,其中包含Series对象中的所有数据元素。
100-5、说明
无
100-6、用法
100-6-1、数据准备
无
100-6-2、代码示例
# 100、pandas.Series.to_list方法
import pandas as pd
# 创建一个Series对象
data = pd.Series([10, 20, 30, 40, 50])
# 将Series转换为列表
data_list = data.to_list()
print(data_list)
100-6-3、结果输出
# 100、pandas.Series.to_list方法
# [10, 20, 30, 40, 50]