pandas函数应用

《Python for Data Analysis》

函数应用和映射

将函数应用到各列或行所形成的一维数组上 apply方法
In [18]: df1
Out[18]:
   a  b   c   d
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

In [19]: f = lambda x : x.max() - x.min()

In [20]: df1.apply(f)
Out[20]:
a    8
b    8
c    8
d    8
dtype: int64

In [21]: df1.apply(f,axis=1)
Out[21]:
0    3
1    3
2    3
dtype: int64
元素级的函数 applymap方法
In [22]: format = lambda x: '%.2f' % x

In [23]: df1.applymap(format)
Out[23]:
      a     b      c      d
0  0.00  1.00   2.00   3.00
1  4.00  5.00   6.00   7.00
2  8.00  9.00  10.00  11.00
Series的map方法能够接受一个函数或含有映射关系的字典型对象。
In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: from pandas import Series, DataFrame

In [4]: data = DataFrame({'food':['bacon', 'pulled pork', 'corned beef', 'Bacon'],'ounces
   ...: ':[4,3,7.5,8]})

In [5]: data
Out[5]:
          food  ounces
0        bacon     4.0
1  pulled pork     3.0
2  corned beef     7.5
3        Bacon     8.0

In [6]: meat_to_animal = {
   ...:     'bacon': 'pig',
   ...:     'pulled pork' : 'pig',
   ...:     'corned beef' : 'cow',
   ...:     'Bacon': 'pig'
   ...: }

In [7]: data['animal'] = data['food'].map(str.lower).map(meat_to_animal)

In [8]: data
Out[8]:
          food  ounces animal
0        bacon     4.0    pig
1  pulled pork     3.0    pig
2  corned beef     7.5    cow
3        Bacon     8.0    pig

In [9]: data['food'].map(lambda x: meat_to_animal[x.lower()])
Out[9]:
0    pig
1    pig
2    cow
3    pig
Name: food, dtype: object

使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。

### 数据导入与导出 Pandas 提供了多种方法来导入和导出数据,常见的函数包括 `read_csv`、`read_excel`、`read_sql` 等,用于从不同的数据源读取数据。例如,要从Excel文件读取数据,可以使用 `read_excel` 函数: ```python import pandas as pd df = pd.read_excel('path_to_file.xlsx') ``` 同样,Pandas 也支持将数据导出到不同的格式,如CSV、Excel、SQL数据库等。例如,将DataFrame导出到Excel文件: ```python df.to_excel('output_file.xlsx', index=False) ``` ### 数据清洗 数据清洗是数据分析过程中的一个重要步骤,Pandas 提供了多种方法来处理缺失值、重复数据等。例如,使用 `drop_duplicates` 函数可以去除重复行,保留首次出现的数据: ```python merged_df = pd.concat([df1, df2]).drop_duplicates(subset=['工单编号']) ``` ### 数据转换 在数据转换方面,Pandas 提供了多种方法来转换数据类型、应用函数等。例如,可以使用 `apply` 方法对DataFrame的行或列应用一个函数: ```python df['column_name'] = df['column_name'].apply(lambda x: x*2) ``` ### 数据筛选 数据筛选是数据分析中常用的技能,Pandas 提供了灵活的条件筛选功能。例如,可以通过布尔索引选择满足特定条件的数据: ```python filtered_data = df[df['column_name'] > 10] ``` ### 数据聚合 Pandas 支持多种聚合操作,如求和、平均值、中位数、方差、标准差等。这些统计函数可以直接应用于DataFrame或Series对象上。例如,计算DataFrame中所有数值列的平均值: ```python df_demo = df[['Height', 'Weight']] mean_values = df_demo.mean() ``` 此外,Pandas 还提供了更复杂的聚合功能,如分组聚合。使用 `groupby` 方法可以根据一个或多个键对数据进行分组,并对每个分组应用聚合函数: ```python grouped_data = df.groupby('category').mean() ``` 通过这些基本但强大的功能,Pandas 成为了Python中不可或缺的数据分析工具。熟练掌握这些常用函数及其使用方法,能够极大地提升数据处理和分析的效率[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值