pandas函数映射

import pandas as pd
import numpy as np
from pandas import Series,DataFrame

df1 = DataFrame(
    np.random.choice(range(20),size=(4,3),replace=False),
    index=list('ABCD'),
    columns=list('abc')
)
print(df1)

#使用numpy函数操作 axis 控制行列聚合 0跨列 1跨行
print(np.sum(df1,axis=1))

#平均
print(np.mean(df1,axis=1))

#整体的极差
print(np.ptp(df1))

#最大值
print(np.max(df1))

#每一行的极差
print(np.max(df1,axis=1)-np.min(df1,axis=1))

'''
!!!!!!!!!!!!!
object.apply(func,axis=0/1)
对某obj的行或列 应用一个函数 func
'''
def Myptp(x):
    return x.max()-x.min()
print(df1.apply(Myptp,axis=1))

#使用匿名函数
print(df1.apply(lambda x:x.max()-x.min(),axis=1))

#省略小数位数
df2 = DataFrame(
    np.random.randn(4,3),
    index=list('ABCD'),
    columns=list('一二三')
)
print(df2)

print(df2.apply(lambda x:round(x,2)))

print(round(df2,2))


'''
applymap(func)把 func 应用到每个元素上
'''

print(df2.applymap(lambda x:f'{round(x,2)}%'))

PythonPandas 库中,提供了大量用于数据处理和分析的函数和方法。以下是一些常用的 Pandas 函数及其使用方法: ### 1. 数据读取与写入 - **`pandas.read_excel()`** 该函数用于从 Excel 文件中读取数据,并将其转换为 DataFrame 对象。可以指定文件路径、工作表名称等参数[^1]。 ```python import pandas as pd df = pd.read_excel('data.xlsx', sheet_name='Sheet1') ``` - **`DataFrame.to_excel()`** 将 DataFrame 写入 Excel 文件。可以设置输出路径以及是否包含索引。 ```python df.to_excel('output.xlsx', index=False) ``` ### 2. 数据操作与处理 - **`DataFrame.copy()`** 创建一个对象的副本,默认情况下 `deep=True`,这意味着对副本的修改不会影响原始数据[^3]。 ```python df_copy = df.copy() ``` - **`DataFrame.cummax()`** 计算累计最大值,返回一个新的 DataFrame 或 Series,其中每个元素是当前及之前所有元素中的最大值[^2]。 ```python cummax_df = df.cummax() ``` - **`DataFrame.dropna()`** 删除包含空值的行或列。可以通过参数控制删除方式(如 `axis=0` 表示删除行)。 ```python cleaned_df = df.dropna(axis=0) ``` - **`DataFrame.fillna()`** 填充缺失值。可以指定填充的值或者使用特定的方法(如前向填充、后向填充)。 ```python filled_df = df.fillna(0) ``` - **`DataFrame.groupby()`** 按照某些列进行分组,并对每组应用聚合函数。常用于统计分析。 ```python grouped_df = df.groupby('category').mean() ``` ### 3. 数据筛选与查询 - **`DataFrame.loc[]`** 和 **`DataFrame.iloc[]`** `loc[]` 通过标签选择数据,而 `iloc[]` 通过位置选择数据。 ```python selected_row = df.loc[df['column'] > value] first_two_rows = df.iloc[:2] ``` - **`DataFrame.query()`** 使用字符串表达式来筛选数据,语法类似于 SQL 查询。 ```python filtered_df = df.query("column > 5") ``` ### 4. 数据转换与计算 - **`DataFrame.apply()`** 对 DataFrame 的每一行或列应用自定义函数。 ```python transformed_df = df.apply(lambda x: x * 2) ``` - **`DataFrame.map()`** 对 Series 中的每个元素应用映射关系(通常是一个字典或函数)。 ```python mapped_series = series.map({1: 'one', 2: 'two'}) ``` - **`DataFrame.rank()`** 计算数值的排名,支持多种排序方法。 ```python ranked_df = df.rank() ``` ### 5. 时间序列处理 - **`pd.to_datetime()`** 将字符串或其他格式的时间数据转换为 datetime 类型。 ```python df['date'] = pd.to_datetime(df['date']) ``` - **`DataFrame.resample()`** 对时间序列数据进行重采样,常用于按天、周、月等频率聚合数据。 ```python resampled_df = df.resample('M').mean() ``` ### 6. 其他常用功能 - **`DataFrame.describe()`** 提供描述性统计信息,包括计数、均值、标准差、最小值、四分位数和最大值。 ```python stats = df.describe() ``` - **`DataFrame.corr()`** 计算各列之间的相关系数矩阵。 ```python correlation_matrix = df.corr() ``` - **`DataFrame.sort_values()`** 按照指定列的值对 DataFrame 进行排序。 ```python sorted_df = df.sort_values(by='column') ``` 以上只是 Pandas 库中一小部分常用函数和方法的介绍。Pandas 提供了丰富的功能,适用于各种数据分析场景。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值