当前位置:   article > 正文

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

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

目录

一、用法精讲

211、pandas.Series.truncate方法

211-1、语法

211-2、参数

211-3、功能

211-4、返回值

211-5、说明

211-6、用法

211-6-1、数据准备

211-6-2、代码示例

211-6-3、结果输出

212、pandas.Series.where方法

212-1、语法

212-2、参数

212-3、功能

212-4、返回值

212-5、说明

212-6、用法

212-6-1、数据准备

212-6-2、代码示例

212-6-3、结果输出

213、pandas.Series.mask方法

213-1、语法

213-2、参数

213-3、功能

213-4、返回值

213-5、说明

213-6、用法

213-6-1、数据准备

213-6-2、代码示例

213-6-3、结果输出

214、pandas.Series.add_prefix方法

214-1、语法

214-2、参数

214-3、功能

214-4、返回值

214-5、说明

214-6、用法

214-6-1、数据准备

214-6-2、代码示例

214-6-3、结果输出

215、pandas.Series.add_suffix方法

215-1、语法

215-2、参数

215-3、功能

215-4、返回值

215-5、说明

215-6、用法

215-6-1、数据准备

215-6-2、代码示例

215-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

211、pandas.Series.truncate方法
211-1、语法
  1. # 211、pandas.Series.truncate方法
  2. pandas.Series.truncate(before=None, after=None, axis=None, copy=None)
  3. Truncate a Series or DataFrame before and after some index value.
  4. This is a useful shorthand for boolean indexing based on index values above or below certain thresholds.
  5. Parameters:
  6. beforedate, str, int
  7. Truncate all rows before this index value.
  8. afterdate, str, int
  9. Truncate all rows after this index value.
  10. axis{0 or ‘index’, 1 or ‘columns’}, optional
  11. Axis to truncate. Truncates the index (rows) by default. For Series this parameter is unused and defaults to 0.
  12. copybool, default is True,
  13. Return a copy of the truncated section.
  14. Note
  15. 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.
  16. You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True
  17. Returns:
  18. type of caller
  19. The truncated Series or DataFrame.
211-2、参数

211-2-1、before(可选,默认值为None)截取的起始位置,包含此索引值。如果未指定,则从Series的第一个索引开始。

211-2-2、after(可选,默认值为None)截取的结束位置,包含此索引值。如果未指定,则截取到Series的最后一个索引。

211-2-3、axis(可选,默认值为None)未使用,保留参数。

211-2-4、copy(可选,默认值为None)是否复制返回的数据。如果为False,则返回的Series是原始数据的视图,而不是副本。

211-3、功能

        用于截取Series对象的一部分数据,通常用于在时间序列数据或带有特定索引的数据集中选取特定范围的数据。

211-4、返回值

        返回一个pandas.Series对象,包含在before和after参数指定的范围内的元素。

211-5、说明

        无

211-6、用法
211-6-1、数据准备
211-6-2、代码示例
  1. # 211、pandas.Series.truncate方法
  2. # 211-1、截取指定范围的数据
  3. import pandas as pd
  4. s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
  5. result = s.truncate(before=3, after=6)
  6. print(result, end='\n\n')
  7. # 211-2、截取从索引4到最后的数据
  8. import pandas as pd
  9. s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
  10. result = s.truncate(before=4)
  11. print(result, end='\n\n')
  12. # 211-3、截取从开头到索引5的数据
  13. import pandas as pd
  14. s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
  15. result = s.truncate(after=5)
  16. print(result)
211-6-3、结果输出
  1. # 211、pandas.Series.truncate方法
  2. # 211-1、截取指定范围的数据
  3. # 3 30
  4. # 4 40
  5. # 5 50
  6. # 6 60
  7. # dtype: int64
  8. # 211-2、截取从索引4到最后的数据
  9. # 4 40
  10. # 5 50
  11. # 6 60
  12. # 7 70
  13. # 8 80
  14. # dtype: int64
  15. # 211-3、截取从开头到索引5的数据
  16. # 1 10
  17. # 2 20
  18. # 3 30
  19. # 4 40
  20. # 5 50
  21. # dtype: int64
212、pandas.Series.where方法
212-1、语法
  1. # 212、pandas.Series.where方法
  2. pandas.Series.where(cond, other=nan, *, inplace=False, axis=None, level=None)
  3. Replace values where the condition is False.
  4. Parameters:
  5. cond
  6. bool Series/DataFrame, array-like, or callable
  7. Where cond is True, keep the original value. Where False, replace with corresponding value from other. If cond is callable, it is computed on the Series/DataFrame and should return boolean Series/DataFrame or array. The callable must not change input Series/DataFrame (though pandas doesn’t check it).
  8. other
  9. scalar, Series/DataFrame, or callable
  10. Entries where cond is False are replaced with corresponding value from other. If other is callable, it is computed on the Series/DataFrame and should return scalar or Series/DataFrame. The callable must not change input Series/DataFrame (though pandas doesn’t check it). If not specified, entries will be filled with the corresponding NULL value (np.nan for numpy dtypes, pd.NA for extension dtypes).
  11. inplace
  12. bool, default False
  13. Whether to perform the operation in place on the data.
  14. axis
  15. int, default None
  16. Alignment axis if needed. For Series this parameter is unused and defaults to 0.
  17. level
  18. int, default None
  19. Alignment level if needed.
  20. Returns:
  21. Same type as caller or None if
  22. inplace=True.
212-2、参数

212-2-1、cond(必须)布尔型数组,条件表达式或Series,它用于指定要保留的元素。当条件为True时保留原值,为False时替换为other的值。

212-2-2、other(可选,默认值为nan)用来替换不满足条件的元素的值,默认情况下,这些元素会被替换为NaN。

212-2-3、inplace(可选,默认值为False)如果为True,则在原地修改Series对象,而不是返回修改后的副本。

212-2-4、axis(可选,默认值为None)未使用,保留参数。

212-2-5、level(可选,默认值为None)如果Series是多层索引的,可以指定操作的索引层次。

212-3、功能

        用于基于条件对Series数据进行筛选和替换,它根据给定的布尔条件保留或替换Series中的值。

212-4、返回值

        返回一个pandas.Series对象,其中原来的数据根据cond条件被筛选和替换。

212-5、说明

        无

212-6、用法
212-6-1、数据准备
212-6-2、代码示例
  1. # 212、pandas.Series.where方法
  2. # 212-1、基本用法
  3. import pandas as pd
  4. s = pd.Series([1, 2, 3, 4, 5])
  5. result = s.where(s > 2)
  6. print(result, end='\n\n')
  7. # 212-2、指定替换值
  8. import pandas as pd
  9. s = pd.Series([1, 2, 3, 4, 5])
  10. result = s.where(s > 2, other=-1)
  11. print(result, end='\n\n')
  12. # 212-3、使用布尔条件
  13. import pandas as pd
  14. s = pd.Series([1, 2, 3, 4, 5])
  15. result = s.where(s % 2 == 0, other='odd')
  16. print(result, end='\n\n')
  17. # 212-4、原地修改
  18. import pandas as pd
  19. s = pd.Series([1, 2, 3, 4, 5])
  20. s.where(s > 2, other=-1, inplace=True)
  21. print(s)
212-6-3、结果输出
  1. # 212、pandas.Series.where方法
  2. # 212-1、基本用法
  3. # 0 NaN
  4. # 1 NaN
  5. # 2 3.0
  6. # 3 4.0
  7. # 4 5.0
  8. # dtype: float64
  9. # 212-2、指定替换值
  10. # 0 -1
  11. # 1 -1
  12. # 2 3
  13. # 3 4
  14. # 4 5
  15. # dtype: int64
  16. # 212-3、使用布尔条件
  17. # 0 odd
  18. # 1 2
  19. # 2 odd
  20. # 3 4
  21. # 4 odd
  22. # dtype: object
  23. # 212-4、原地修改
  24. # 0 -1
  25. # 1 -1
  26. # 2 3
  27. # 3 4
  28. # 4 5
  29. # dtype: int64
213、pandas.Series.mask方法
213-1、语法
  1. # 213、pandas.Series.mask方法
  2. pandas.Series.mask(cond, other=_NoDefault.no_default, *, inplace=False, axis=None, level=None)
  3. Replace values where the condition is True.
  4. Parameters:
  5. cond
  6. bool Series/DataFrame, array-like, or callable
  7. Where cond is False, keep the original value. Where True, replace with corresponding value from other. If cond is callable, it is computed on the Series/DataFrame and should return boolean Series/DataFrame or array. The callable must not change input Series/DataFrame (though pandas doesn’t check it).
  8. other
  9. scalar, Series/DataFrame, or callable
  10. Entries where cond is True are replaced with corresponding value from other. If other is callable, it is computed on the Series/DataFrame and should return scalar or Series/DataFrame. The callable must not change input Series/DataFrame (though pandas doesn’t check it). If not specified, entries will be filled with the corresponding NULL value (np.nan for numpy dtypes, pd.NA for extension dtypes).
  11. inplace
  12. bool, default False
  13. Whether to perform the operation in place on the data.
  14. axis
  15. int, default None
  16. Alignment axis if needed. For Series this parameter is unused and defaults to 0.
  17. level
  18. int, default None
  19. Alignment level if needed.
  20. Returns:
  21. Same type as caller or None if
  22. inplace=True.
213-2、参数

213-2-1、cond(必须)布尔型数组,条件表达式或Series,它用于指定要替换的元素。当条件为True时替换为other的值,为False时保留原值。

213-2-2、other(可选)用来替换满足条件的元素的值,默认情况下,这些元素会被替换为NaN。

213-2-3、inplace(可选,默认值为False)如果为True,则在原地修改Series对象,而不是返回修改后的副本。

213-2-4、axis(可选,默认值为None)未使用,保留参数。

213-2-5、level(可选,默认值为None)如果Series是多层索引的,可以指定操作的索引层次。

213-3、功能

        用于替换Series数据中的元素。如果满足指定的条件(cond),则将这些元素替换为other的值;否则,保留原值。

213-4、返回值

        返回一个pandas.Series对象,其中原来的数据根据cond条件被筛选和替换。

213-5、说明

        无

213-6、用法
213-6-1、数据准备
213-6-2、代码示例
  1. # 213、pandas.Series.mask方法
  2. # 213-1、基本用法
  3. import pandas as pd
  4. s = pd.Series([1, 2, 3, 4, 5])
  5. result = s.mask(s > 2)
  6. print(result, end='\n\n')
  7. # 213-2、指定替换值
  8. import pandas as pd
  9. s = pd.Series([1, 2, 3, 4, 5])
  10. result = s.mask(s > 2, other=-1)
  11. print(result, end='\n\n')
  12. # 213-3、使用布尔条件
  13. import pandas as pd
  14. s = pd.Series([1, 2, 3, 4, 5])
  15. result = s.mask(s % 2 == 0, other='even')
  16. print(result, end='\n\n')
  17. # 213-4、原地修改
  18. import pandas as pd
  19. s = pd.Series([1, 2, 3, 4, 5])
  20. s.mask(s > 2, other=-1, inplace=True)
  21. print(s)
213-6-3、结果输出
  1. # 213、pandas.Series.mask方法
  2. # 213-1、基本用法
  3. # 0 1.0
  4. # 1 2.0
  5. # 2 NaN
  6. # 3 NaN
  7. # 4 NaN
  8. # dtype: float64
  9. # 213-2、指定替换值
  10. # 0 1
  11. # 1 2
  12. # 2 -1
  13. # 3 -1
  14. # 4 -1
  15. # dtype: int64
  16. # 213-3、使用布尔条件
  17. # 0 1
  18. # 1 even
  19. # 2 3
  20. # 3 even
  21. # 4 5
  22. # dtype: object
  23. # 213-4、原地修改
  24. # 0 1
  25. # 1 2
  26. # 2 -1
  27. # 3 -1
  28. # 4 -1
  29. # dtype: int64
214、pandas.Series.add_prefix方法
214-1、语法
  1. # 214、pandas.Series.add_prefix方法
  2. pandas.Series.add_prefix(prefix, axis=None)
  3. Prefix labels with string prefix.
  4. For Series, the row labels are prefixed. For DataFrame, the column labels are prefixed.
  5. Parameters:
  6. prefixstr
  7. The string to add before each label.
  8. axis{0 or ‘index’, 1 or ‘columns’, None}, default None
  9. Axis to add prefix on
  10. New in version 2.0.0.
  11. Returns:
  12. Series or DataFrame
  13. New Series or DataFrame with updated labels.
214-2、参数

214-2-1、prefix(必须)字符串类型,表示要添加到索引标签前的前缀。

214-2-2、axis(可选,默认值为None)虽然存在这个参数,但在Series中没有实际意义,因为Series没有轴的概念。

214-3、功能

        通过为Series的索引标签添加一个指定的前缀,返回一个新的Series对象。

214-4、返回值

        返回一个pandas.Series对象,其索引标签被添加了指定的前缀。

214-5、说明

        无

214-6、用法
214-6-1、数据准备
214-6-2、代码示例
  1. # 214、pandas.Series.add_prefix方法
  2. import pandas as pd
  3. s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
  4. result = s.add_prefix('item_')
  5. print(result)
214-6-3、结果输出
  1. # 214、pandas.Series.add_prefix方法
  2. # item_a 1
  3. # item_b 2
  4. # item_c 3
  5. # dtype: int64
215、pandas.Series.add_suffix方法
215-1、语法
  1. # 215、pandas.Series.add_suffix方法
  2. pandas.Series.add_suffix(suffix, axis=None)
  3. Suffix labels with string suffix.
  4. For Series, the row labels are suffixed. For DataFrame, the column labels are suffixed.
  5. Parameters:
  6. suffixstr
  7. The string to add after each label.
  8. axis{0 or ‘index’, 1 or ‘columns’, None}, default None
  9. Axis to add suffix on
  10. New in version 2.0.0.
  11. Returns:
  12. Series or DataFrame
  13. New Series or DataFrame with updated labels.
215-2、参数

215-2-1、suffix(必须)字符串类型,表示要添加到索引标签后的后缀。

215-2-2、axis(可选,默认值为None)虽然存在这个参数,但在Series中没有实际意义,因为Series没有轴的概念。

215-3、功能

        用于为Series的索引标签添加一个后缀,和add_prefix类似,axis参数在Series中没有实际意义,因为Series是一维的。

215-4、返回值

        返回一个pandas.Series对象,其索引标签被添加了指定的后缀。

215-5、说明

        无

215-6、用法
215-6-1、数据准备
215-6-2、代码示例
  1. # 215、pandas.Series.add_suffix方法
  2. import pandas as pd
  3. s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
  4. result = s.add_suffix('_item')
  5. print(result)
215-6-3、结果输出
  1. # 215、pandas.Series.add_suffix方法
  2. # a_item 1
  3. # b_item 2
  4. # c_item 3
  5. # dtype: int64

二、推荐阅读

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

闽ICP备14008679号