20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子(上)

简介: 20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

Pandas是一个受众广泛的python数据分析库。它提供了许多函数和方法来加快数据分析过程。pandas之所以如此普遍,是因为它的功能强大、灵活简单。本文将介绍20个常用的 Pandas 函数以及具体的示例代码,助力你的数据分析变得更加高效。

640.png

首先,我们导入 numpypandas包。

import numpy as np
import pandas as pd

1. Query

我们有时需要根据条件筛选数据,一个简单方法是query函数。为了更直观理解这个函数,我们首先创建一个示例 dataframe。

values_1 = np.random.randint(10, size=10)
values_2 = np.random.randint(10, size=10)
years = np.arange(2010,2020)
groups = ['A','A','B','A','B','B','C','A','C','C']
df = pd.DataFrame({'group':groups, 'year':years, 'value_1':values_1, 'value_2':values_2})
df

640.png

使用query函数的语法十分简单:

df.query('value_1 < value_2')

640.png

2. Insert

当我们想要在 dataframe 里增加一列数据时,默认添加在最后。当我们需要添加在任意位置,则可以使用 insert 函数。使用该函数只需要指定插入的位置、列名称、插入的对象数据。

# new column
new_col = np.random.randn(10)
# insert the new column at position 2
df.insert(2, 'new_col', new_col)
df

640.png

3. Cumsum

示例dataframe 包含3个小组的年度数据。我们可能只对年度数据感兴趣,但在某些情况下,我们同样还需要一个累计数据。Pandas提供了一个易于使用的函数来计算加和,即cumsum

如果我们只是简单使用cumsum函数,(A,B,C)组别将被忽略。这样得到的累积值在某些情况下意义不大,因为我们更需要不同小组的累计数据。对于这个问题有一个非常简单方便的解决方案,我们可以同时应用groupbycumsum函数。

df['cumsum_2'] = df[['value_2','group'].groupby('group').cumsum()]
df

640.png

4. Sample

Sample方法允许我们从DataFrame中随机选择数据。当我们想从一个分布中选择一个随机样本时,这个函数很有用。

sample1 = df.sample(n=3)
sample1

640.png

上述代码中,我们通过指定采样数量 n 来进行随机选取。此外,也可以通过指定采样比例 frac 来随机选取数据。当 frac=0.5时,将随机返回一般的数据。

sample2 = df.sample(frac=0.5)
sample2

640.png

为了获得可重复的样品,我们可以指定random_state参数。如果将整数值传递给random_state,则每次运行代码时都将生成相同的采样数据。

5. Where

where函数用于指定条件的数据替换。如果不指定条件,则默认替换值为 NaN。

df['new_col'].where(df['new_col'] > 0, 0)

640.png

where函数首先根据指定条件定位目标数据,然后替换为指定的新数据。上述代码中,where(df['new_col']>0,0)指定'new_col'列中数值大于0的所有数据为被替换对象,并且被替换为0。

重要的一点是,pandas 和 numpy的where函数并不完全相同。我们可以得到相同的结果,但语法存在差异。Np.where还需要指定列对象。以下两行返回相同的结果:

df['new_col'].where(df['new_col'] > 0, 0)
np.where(df['new_col'] > 0, df['new_col'], 0)

6. Isin

在处理数据帧时,我们经常使用过滤或选择方法。Isin是一种先进的筛选方法。例如,我们可以根据选择列表筛选数据。

years = ['2010','2014','2017']
df[df.year.isin(years)]

640.png

7. Loc 和 iloc

Loc 和 iloc 函数用于选择行或者列。

  • loc:通过标签选择
  • iloc:通过位置选择

loc用于按标签选择数据。列的标签是列名。对于行标签,如果我们不分配任何特定的索引,pandas默认创建整数索引。因此,行标签是从0开始向上的整数。与iloc一起使用的行位置也是从0开始的整数。

下述代码实现选择前三行前两列的数据(iloc方式):

df.iloc[:3,:2]

640.png

下述代码实现选择前三行前两列的数据(loc方式):

df.loc[:2,['group','year']]

640.png

注:当使用loc时,包括索引的上界,而使用iloc则不包括索引的上界。

下述代码实现选择"1","3","5"行、"year","value_1"列的数据(loc方式):

df.loc[[1,3,5],['year','value_1']]

640.png

目录
相关文章
|
20天前
|
人工智能 数据处理 计算机视觉
Pandas数据处理——渐进式学习、DataFrame(函数检索-请使用Ctrl+F搜索)
Pandas数据处理——渐进式学习、DataFrame(函数检索-请使用Ctrl+F搜索)
35 0
|
5天前
|
SQL 数据可视化 数据挖掘
利用Python中的Pandas库进行数据分析和可视化
Python语言中的Pandas库是一个功能强大的工具,可用于数据处理、清洗、分析和可视化。本文将介绍如何利用Pandas库对数据进行处理和分析,并结合Matplotlib库进行数据可视化,帮助读者快速掌握数据分析和可视化的基本方法。
13 3
|
7天前
|
数据采集 人工智能 数据挖掘
Python数据分析:利用Pandas库处理缺失数据的技巧
在数据分析中,数据的完整性对结果的准确性至关重要。本文将介绍如何利用Python中强大的Pandas库来处理数据中的缺失值,帮助您更好地进行数据清洗和分析。
|
19天前
|
Python
在Python中,pandas库的`get_dummies`函数
在Python中,pandas库的`get_dummies`函数
12 2
|
20天前
|
人工智能 程序员 数据处理
Pandas数据处理3、DataFrame去重函数drop_duplicates()详解
Pandas数据处理3、DataFrame去重函数drop_duplicates()详解
22 0
Pandas数据处理3、DataFrame去重函数drop_duplicates()详解
|
20天前
|
人工智能 程序员 数据处理
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
Pandas数据处理2、DataFrame的drop函数具体参数使用详情
11 0
|
28天前
|
存储 数据挖掘 索引
Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析
Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析
12 0
Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析
|
28天前
|
数据挖掘 索引 Python
Python 教程之 Pandas(6)—— DataFrame 中的转换函数
Python 教程之 Pandas(6)—— DataFrame 中的转换函数
25 0
Python 教程之 Pandas(6)—— DataFrame 中的转换函数
|
1月前
|
存储 数据可视化 数据挖掘
NumPy 和 Pandas 数据分析实用指南:1~6 全(下)
NumPy 和 Pandas 数据分析实用指南:1~6 全
49 0
|
1月前
|
关系型数据库 MySQL 数据挖掘
NumPy 和 Pandas 数据分析实用指南:1~6 全!(上)
NumPy 和 Pandas 数据分析实用指南:1~6 全
51 0

相关产品

  • 云迁移中心