Pandas 常用函数

yizhihongxing

那么下面我来详细讲解Pandas常用函数的完整攻略,包含一些实例说明。

一、Pandas概述

Pandas是一个基于NumPy的Python数据分析库,可用于大量数据处理任务,例如合并、切片、筛选、聚合等数据处理。它具有以下优点:

  • 提供了灵活的数据结构DataFrame和Series,方便数据操作;
  • 可以高效地处理大型数据集;
  • 可以自动对齐数据;
  • 可以快速处理缺失数据;
  • 可以轻松处理时间序列数据。

二、创建DataFrame和Series

DataFrame是Pandas中最基本的数据结构,可以将数据处理为二维表格形式,而Series则是一维数组形式的数据结构。

创建DataFrame和Series的方法

import pandas as pd

# 创建Series
s = pd.Series([1, 3, 5, np.nan, 6, 8])

# 创建DataFrame
df = pd.DataFrame({
                   'A': 1.,
                   'B': pd.Timestamp('20130102'),
                   'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                   'D': np.array([3] * 4, dtype='int32'),
                   'E': pd.Categorical(["test", "train", "test", "train"]),
                   'F': 'foo'
                  })

在这里,我们创建了一个Series和一个DataFrame。Series中包含了1, 3, 5, np.nan, 6, 8六个元素,其中有一个缺失值np.nan;DataFrame中包含了六列数据,分别是A、B、C、D、E、F。A列的每个元素都是1.0,B列的每个元素都是pd.Timestamp('20130102')表示的时间戳,C列的每个元素都是1,D列的每个元素都是3,E列包含了四个分类数据,F列的每个元素都是'foo'。

查看DataFrame和Series数据

# 查看Series
print(s)

# 查看DataFrame中前两行数据
print(df.head(2))

# 查看DataFrame中后三行数据
print(df.tail(3))

# 查看DataFrame中的索引
print(df.index)

# 查看DataFrame中的列名
print(df.columns)

# 查看DataFrame中的数据(二维数组)
print(df.values)

# 查看DataFrame中的描述性统计量
print(df.describe())

三、选择数据

选择列(Series)

# 选择DataFrame中的A列
print(df['A'])

# 选择DataFrame中的1-3行的A列
print(df[:3]['A'])

选择行

# 按位置选择行
print(df.iloc[3])     # 选择第四行

# 按标签选择行
print(df.loc[2])      # 选择标签为2的行

# 按条件选择行
print(df[df['A'] > 1])    # 选择A列中大于1的行

选择行和列

# 选择第1行第1列的数据
print(df.iloc[0, 0])

# 选择前三行,B、D两列的数据
print(df.loc[:2, ['B', 'D']])

# 选择第3行,C列的数据
print(df.loc[2, 'C'])

四、数据清洗

处理缺失数据

# 创建一个包含缺失值的DataFrame
df_missing = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8], 'C': [9, 10, 11, np.nan]})

# 判断是否有缺失数据
print(df_missing.isna())

# 删除包含缺失数据的行
df1 = df_missing.dropna(axis=0, how='any')

# 将缺失数据填充为0
df2 = df_missing.fillna(0)

# 将缺失数据填充为列的均值
df3 = df_missing.fillna(df_missing.mean())

处理重复数据

# 创建包含重复数据的DataFrame
df_duplicates = pd.DataFrame({'A': [1, 1, 2, 3], 'B': [4, 5, 6, 7], 'C': [8, 9, 9, 10]})

# 判断是否有重复数据
print(df_duplicates.duplicated())

# 删除重复数据
df4 = df_duplicates.drop_duplicates()

五、数据分组

# 创建DataFrame
df_group = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                         'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                         'C': np.random.randn(8),
                         'D': np.random.randn(8)})

# 按A列分组,计算C和D的均值
print(df_group.groupby('A').mean())

# 按A、B两列分组,计算C和D的均值
print(df_group.groupby(['A', 'B']).mean())

六、数据合并

拼接(Concatenating)数据

# 创建DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']})

df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                   'C': ['C4', 'C5', 'C6', 'C7'],
                   'D': ['D4', 'D5', 'D6', 'D7']})

df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
                    'B': ['B8', 'B9', 'B10', 'B11'],
                   'C': ['C8', 'C9', 'C10', 'C11'],
                   'D': ['D8', 'D9', 'D10', 'D11']})

# 沿着轴0拼接三个数据
print(pd.concat([df1, df2, df3], axis=0))

合并(Merging)数据

# 创建DataFrame
df_left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                        'A': ['A0', 'A1', 'A2', 'A3'],
                        'B': ['B0', 'B1', 'B2', 'B3']})

df_right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                        'C': ['C0', 'C1', 'C2', 'C3'],
                        'D': ['D0', 'D1', 'D2', 'D3']})

# 按key列合并两个DataFrame
print(pd.merge(df_left, df_right, on='key'))

七、将数据写入文件

# 创建DataFrame
df_write = pd.DataFrame({'Name':['Tom', 'Jerry', 'Spike', 'Tyke'],
                         'Score':[90, 80, 70, 60],
                         'Gender':['M', 'M', 'M', 'F']})

# 将DataFrame写入CSV文件中
df_write.to_csv('data.csv', index=False)

以上就是Pandas常用函数的完整攻略。通过对Pandas中各个常用函数的学习,我们可以更加高效地进行数据处理与分析。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas 常用函数 - Python技术站

(0)
上一篇 2023年3月27日
下一篇 2023年3月27日

相关文章

  • 在Pandas数据框架集上创建视图

    在Pandas中,我们可以使用视图来展示数据框架中的一部分数据。Pandas支持多种视图创建方法,下面我们将介绍其中两种。 方法一:利用iloc函数创建视图 1. 示例数据 这里我们首先创建一个示例数据: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(0,…

    python-answer 2023年3月27日
    00
  • 在Pandas DataFrame的每组中获取最上面的N条记录

    要在Pandas DataFrame的每组中获取最上面的N条记录,我们可以使用groupby和head方法的组合。使用groupby方法将数据按照某一列或多列进行分组,然后再使用head方法获取每组的前N条记录。 下面是具体步骤: 使用pandas库读取数据。例如,我们可以使用以下代码读取名为“data.csv”的CSV文件,并将其保存为名为“df”的Dat…

    python-answer 2023年3月27日
    00
  • Python Pandas数据结构简单介绍

    Python Pandas数据结构简单介绍 Pandas简介 Pandas是一个数据处理的工具,在数据分析领域非常常用,它提供了很多功能来处理和操作数据。使用Pandas,我们可以轻松地处理各种格式的数据集,例如: CSV、Excel、SQL或者JSON等,并对数据进行转换、排序、切片、重塑、合并等操作。 Pandas数据结构 Pandas提供了两种核心数据…

    python 2023年6月13日
    00
  • pandas去除重复列的实现方法

    首先我们先来了解一下什么是重复列。重复列是指表格中出现了相同列名的列。下面是一张含有重复列名的表格: ID Name Age ID Gender 1 Tom 18 1 Male 2 Jack 20 2 Female 在这张表格中,ID这一列出现了两次,可以认为它是一列重复列。我们有时候需要去除这些重复列,以保证表格数据的准确性和易于操作。下面介绍几种去除重复…

    python 2023年5月14日
    00
  • 用Pandas计算每组的唯一值

    首先,使用Pandas计算每组的唯一值,可以通过Pandas的groupby()方法来实现。这个方法可以按照多个列或者一个列进行分组,并对每个组进行计算。下面是关于如何使用groupby()方法获取每组唯一值的攻略: 步骤一:导入所需库 这个问题中需要使用Pandas库,因此需要先导入Pandas库。可以使用以下代码进行导入: import pandas a…

    python-answer 2023年3月27日
    00
  • 如何在Pandas中为数据框架添加空列

    为Pandas中的数据框添加空列可以通过以下步骤: 利用Pandas的DataFrame方法创建数据框; 使用DataFrame的assign方法为数据框添加空列; 使用赋值语句给空列赋值。 下面的例子演示了如何为数据框添加空列: import pandas as pd # 创建一个包含两列数据的数据框 data = { ‘col1’: [1, 2, 3],…

    python-answer 2023年3月27日
    00
  • python dataframe实现统计行列中零值的个数

    下面是详细的“Python dataframe实现统计行列中零值的个数”的攻略。 1. 什么是DataFrame DataFrame是pandas库中的一种数据结构,类似于Excel表格,可以存储不同类型的数据,并且可以对这些数据进行操作和分析。它由若干行和若干列组成,每一列代表一个特征,每一行代表一个样本。 2. DataFrame中统计行列中零值的个数 …

    python 2023年6月13日
    00
  • 熊猫免费杀毒服务 PandaSoftware

    熊猫免费杀毒服务PandaSoftware 完整攻略 熊猫免费杀毒服务PandaSoftware 是什么? 熊猫免费杀毒服务PandaSoftware 是一家来自西班牙的知名杀毒软件厂商,其杀毒产品深受大众欢迎。除此之外,熊猫还有一个免费的在线杀毒服务,不需要下载安装,直接在网页上使用。熊猫免费杀毒服务PandaSoftware 在检测和清除计算机病毒方面非…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部