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

CSDN 2024-08-17 08:01:03 阅读 52

目录

一、用法精讲

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、语法

<code># 211、pandas.Series.truncate方法

pandas.Series.truncate(before=None, after=None, axis=None, copy=None)

Truncate a Series or DataFrame before and after some index value.

This is a useful shorthand for boolean indexing based on index values above or below certain thresholds.

Parameters:

beforedate, str, int

Truncate all rows before this index value.

afterdate, str, int

Truncate all rows after this index value.

axis{0 or ‘index’, 1 or ‘columns’}, optional

Axis to truncate. Truncates the index (rows) by default. For Series this parameter is unused and defaults to 0.

copybool, default is True,

Return a copy of the truncated section.

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:

type of caller

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、代码示例

# 211、pandas.Series.truncate方法

# 211-1、截取指定范围的数据

import pandas as pd

s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])

result = s.truncate(before=3, after=6)

print(result, end='\n\n')code>

# 211-2、截取从索引4到最后的数据

import pandas as pd

s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])

result = s.truncate(before=4)

print(result, end='\n\n')code>

# 211-3、截取从开头到索引5的数据

import pandas as pd

s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])

result = s.truncate(after=5)

print(result)

211-6-3、结果输出

# 211、pandas.Series.truncate方法

# 211-1、截取指定范围的数据

# 3 30

# 4 40

# 5 50

# 6 60

# dtype: int64

# 211-2、截取从索引4到最后的数据

# 4 40

# 5 50

# 6 60

# 7 70

# 8 80

# dtype: int64

# 211-3、截取从开头到索引5的数据

# 1 10

# 2 20

# 3 30

# 4 40

# 5 50

# dtype: int64

212、pandas.Series.where方法
212-1、语法

# 212、pandas.Series.where方法

pandas.Series.where(cond, other=nan, *, inplace=False, axis=None, level=None)

Replace values where the condition is False.

Parameters:

cond

bool Series/DataFrame, array-like, or callable

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).

other

scalar, Series/DataFrame, or callable

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).

inplace

bool, default False

Whether to perform the operation in place on the data.

axis

int, default None

Alignment axis if needed. For Series this parameter is unused and defaults to 0.

level

int, default None

Alignment level if needed.

Returns:

Same type as caller or None if

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、代码示例

# 212、pandas.Series.where方法

# 212-1、基本用法

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.where(s > 2)

print(result, end='\n\n')code>

# 212-2、指定替换值

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.where(s > 2, other=-1)

print(result, end='\n\n')code>

# 212-3、使用布尔条件

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.where(s % 2 == 0, other='odd')code>

print(result, end='\n\n')code>

# 212-4、原地修改

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

s.where(s > 2, other=-1, inplace=True)

print(s)

212-6-3、结果输出

# 212、pandas.Series.where方法

# 212-1、基本用法

# 0 NaN

# 1 NaN

# 2 3.0

# 3 4.0

# 4 5.0

# dtype: float64

# 212-2、指定替换值

# 0 -1

# 1 -1

# 2 3

# 3 4

# 4 5

# dtype: int64

# 212-3、使用布尔条件

# 0 odd

# 1 2

# 2 odd

# 3 4

# 4 odd

# dtype: object

# 212-4、原地修改

# 0 -1

# 1 -1

# 2 3

# 3 4

# 4 5

# dtype: int64

213、pandas.Series.mask方法
213-1、语法

# 213、pandas.Series.mask方法

pandas.Series.mask(cond, other=_NoDefault.no_default, *, inplace=False, axis=None, level=None)

Replace values where the condition is True.

Parameters:

cond

bool Series/DataFrame, array-like, or callable

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).

other

scalar, Series/DataFrame, or callable

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).

inplace

bool, default False

Whether to perform the operation in place on the data.

axis

int, default None

Alignment axis if needed. For Series this parameter is unused and defaults to 0.

level

int, default None

Alignment level if needed.

Returns:

Same type as caller or None if

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、代码示例

# 213、pandas.Series.mask方法

# 213-1、基本用法

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.mask(s > 2)

print(result, end='\n\n')code>

# 213-2、指定替换值

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.mask(s > 2, other=-1)

print(result, end='\n\n')code>

# 213-3、使用布尔条件

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

result = s.mask(s % 2 == 0, other='even')code>

print(result, end='\n\n')code>

# 213-4、原地修改

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])

s.mask(s > 2, other=-1, inplace=True)

print(s)

213-6-3、结果输出

# 213、pandas.Series.mask方法

# 213-1、基本用法

# 0 1.0

# 1 2.0

# 2 NaN

# 3 NaN

# 4 NaN

# dtype: float64

# 213-2、指定替换值

# 0 1

# 1 2

# 2 -1

# 3 -1

# 4 -1

# dtype: int64

# 213-3、使用布尔条件

# 0 1

# 1 even

# 2 3

# 3 even

# 4 5

# dtype: object

# 213-4、原地修改

# 0 1

# 1 2

# 2 -1

# 3 -1

# 4 -1

# dtype: int64

214、pandas.Series.add_prefix方法
214-1、语法

# 214、pandas.Series.add_prefix方法

pandas.Series.add_prefix(prefix, axis=None)

Prefix labels with string prefix.

For Series, the row labels are prefixed. For DataFrame, the column labels are prefixed.

Parameters:

prefixstr

The string to add before each label.

axis{0 or ‘index’, 1 or ‘columns’, None}, default None

Axis to add prefix on

New in version 2.0.0.

Returns:

Series or DataFrame

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、代码示例

# 214、pandas.Series.add_prefix方法

import pandas as pd

s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])

result = s.add_prefix('item_')

print(result)

214-6-3、结果输出

# 214、pandas.Series.add_prefix方法

# item_a 1

# item_b 2

# item_c 3

# dtype: int64

215、pandas.Series.add_suffix方法
215-1、语法

# 215、pandas.Series.add_suffix方法

pandas.Series.add_suffix(suffix, axis=None)

Suffix labels with string suffix.

For Series, the row labels are suffixed. For DataFrame, the column labels are suffixed.

Parameters:

suffixstr

The string to add after each label.

axis{0 or ‘index’, 1 or ‘columns’, None}, default None

Axis to add suffix on

New in version 2.0.0.

Returns:

Series or DataFrame

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、代码示例

# 215、pandas.Series.add_suffix方法

import pandas as pd

s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])

result = s.add_suffix('_item')

print(result)

215-6-3、结果输出

# 215、pandas.Series.add_suffix方法

# a_item 1

# b_item 2

# c_item 3

# dtype: int64

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。