当前位置:   article > 正文

Python酷库之旅-第三方库Pandas(033)

Python酷库之旅-第三方库Pandas(033)

目录

一、用法精讲

96、pandas.Series.bool属性

96-1、语法

96-2、参数

96-3、功能

96-4、返回值

96-5、说明

96-6、用法

96-6-1、数据准备

96-6-2、代码示例

96-6-3、结果输出

97、pandas.Series.to_numpy方法

97-1、语法

97-2、参数

97-3、功能

97-4、返回值

97-5、说明

97-6、用法

97-6-1、数据准备

97-6-2、代码示例

97-6-3、结果输出

98、pandas.Series.to_period方法

98-1、语法

98-2、参数

98-3、功能

98-4、返回值

98-5、说明

98-6、用法

98-6-1、数据准备

98-6-2、代码示例

98-6-3、结果输出

99、pandas.Series.to_timestamp方法

99-1、语法

99-2、参数

99-3、功能

99-4、返回值

99-5、说明

99-6、用法

99-6-1、数据准备

99-6-2、代码示例

99-6-3、结果输出

100、pandas.Series.to_list方法

100-1、语法

100-2、参数

100-3、功能

100-4、返回值

100-5、说明

100-6、用法

100-6-1、数据准备

100-6-2、代码示例

100-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

96、pandas.Series.bool属性
96-1、语法
  1. # 96、pandas.Series.bool属性
  2. pandas.Series.bool()
  3. Return the bool of a single element Series or DataFrame.
  4. Deprecated since version 2.1.0: bool is deprecated and will be removed in future version of pandas. For Series use pandas.Series.item.
  5. 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).
  6. Returns:
  7. bool
  8. 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、代码示例
  1. # 96、pandas.Series.bool属性
  2. import pandas as pd
  3. s = pd.Series([True])
  4. print(s.bool())
  5. s2 = pd.Series([False])
  6. print(s2.bool())
96-6-3、结果输出
  1. # 96、pandas.Series.bool属性
  2. # True
  3. # False
97、pandas.Series.to_numpy方法
97-1、语法
  1. # 97、pandas.Series.to_numpy方法
  2. pandas.Series.to_numpy(dtype=None, copy=False, na_value=_NoDefault.no_default, **kwargs)
  3. A NumPy ndarray representing the values in this Series or Index.
  4. Parameters:
  5. dtype
  6. str or numpy.dtype, optional
  7. The dtype to pass to numpy.asarray().
  8. copy
  9. bool, default False
  10. 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.
  11. na_value
  12. Any, optional
  13. The value to use for missing values. The default value depends on dtype and the type of the array.
  14. **kwargs
  15. Additional keywords passed through to the to_numpy method of the underlying array (for extension arrays).
  16. Returns:
  17. 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、代码示例
  1. # 97、pandas.Series.to_numpy方法
  2. import pandas as pd
  3. import numpy as np
  4. # 创建一个Series对象
  5. s = pd.Series([1, 2, np.nan, 4])
  6. # 转换为NumPy数组
  7. array = s.to_numpy()
  8. print(array)
  9. print(type(array))
97-6-3、结果输出
  1. # 97、pandas.Series.to_numpy方法
  2. # [ 1. 2. nan 4.]
  3. # <class 'numpy.ndarray'>
98、pandas.Series.to_period方法
98-1、语法
  1. # 98、pandas.Series.to_period方法
  2. pandas.Series.to_period(freq=None, copy=None)
  3. Convert Series from DatetimeIndex to PeriodIndex.
  4. Parameters:
  5. freqstr, default None
  6. Frequency associated with the PeriodIndex.
  7. copybool, default True
  8. Whether or not to return a copy.
  9. Note
  10. 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.
  11. You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True
  12. Returns:
  13. Series
  14. 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、代码示例
  1. # 98、pandas.Series.to_period方法
  2. import pandas as pd
  3. # 创建一个DatetimeIndex,这次我们为每个年份指定一个具体的日期(例如,每年的1月1日)
  4. idx = pd.DatetimeIndex(['2023-01-01', '2024-01-01', '2025-01-01'])
  5. # 创建一个Series,使用上述索引
  6. s = pd.Series([1, 2, 3], index=idx)
  7. # 现在我们可以安全地将Series转换为Period类型,这里我们将其转换为年度周期
  8. s = s.to_period('Y')
  9. print(s)
98-6-3、结果输出
  1. # 98、pandas.Series.to_period方法
  2. # 2023 1
  3. # 2024 2
  4. # 2025 3
  5. # Freq: Y-DEC, dtype: int64
99、pandas.Series.to_timestamp方法
99-1、语法
  1. # 99、pandas.Series.to_timestamp方法
  2. pandas.Series.to_timestamp(freq=None, how='start', copy=None)
  3. Cast to DatetimeIndex of Timestamps, at beginning of period.
  4. Parameters:
  5. freqstr, default frequency of PeriodIndex
  6. Desired frequency.
  7. how{‘s’, ‘e’, ‘start’, ‘end’}
  8. Convention for converting period to timestamp; start of period vs. end.
  9. copybool, default True
  10. Whether or not to return a copy.
  11. Note
  12. 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.
  13. You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True
  14. Returns:
  15. 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、代码示例
  1. # 99、pandas.Series.to_timestamp方法
  2. import pandas as pd
  3. # 创建一个DatetimeIndex,这次我们为每个年份指定一个具体的日期(例如,每年的1月1日)
  4. idx = pd.DatetimeIndex(['2023-01-01', '2024-01-01', '2025-01-01'])
  5. # 创建一个Series,使用上述索引
  6. s = pd.Series([1, 2, 3], index=idx)
  7. # 将Series的索引转换为PeriodIndex
  8. s_period = s.index.to_period('Y')
  9. # 将PeriodIndex转换为时间戳,如何使用 'start' 参数
  10. s_timestamp = s_period.to_timestamp(how='start')
  11. # 使用新的时间戳索引创建Series
  12. s = pd.Series(s.values, index=s_timestamp)
  13. print(s)
99-6-3、结果输出
  1. # 99、pandas.Series.to_timestamp方法
  2. # 2023-01-01 1
  3. # 2024-01-01 2
  4. # 2025-01-01 3
  5. # Freq: YS-JAN, dtype: int64
100、pandas.Series.to_list方法
100-1、语法
  1. # 100、pandas.Series.to_list方法
  2. pandas.Series.to_list()
  3. Return a list of the values.
  4. These are each a scalar type, which is a Python scalar (for str, int, float) or a pandas scalar (for Timestamp/Timedelta/Interval/Period)
  5. Returns:
  6. list
100-2、参数

        无

100-3、功能

        用于将Series对象转换为Python的列表(list)。

100-4、返回值

        返回一个Python列表,其中包含Series对象中的所有数据元素。

100-5、说明

        无

100-6、用法
100-6-1、数据准备
100-6-2、代码示例
  1. # 100、pandas.Series.to_list方法
  2. import pandas as pd
  3. # 创建一个Series对象
  4. data = pd.Series([10, 20, 30, 40, 50])
  5. # 将Series转换为列表
  6. data_list = data.to_list()
  7. print(data_list)
100-6-3、结果输出
  1. # 100、pandas.Series.to_list方法
  2. # [10, 20, 30, 40, 50]

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/871002
推荐阅读
相关标签
  

闽ICP备14008679号