Pandas 常用函数

那么下面我来详细讲解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的内存限制。 分块读取数据 将大文件切割成多个小文件进行批量读取,这样不会占用大量内存,可以节省内存的使用。 import pandas as pd # 设定文件路径 file_path = "large…

    python-answer 2023年3月27日
    00
  • 如何将多个数据文件读入Pandas

    要将多个数据文件读入 Pandas,我们需要使用一些常用的 Python 操作。具体步骤如下: 导入必要的库 首先,我们需要导入 Pandas 库和其他必要的 Python 库,如 os 和 glob 库(用于查找文件夹中的文件)。 import pandas as pd import os import glob 找到所有需要读取的文件 使用 glob 库…

    python-answer 2023年3月27日
    00
  • 对dataframe进行列相加,行相加的实例

    针对对DataFrame进行列相加和行相加,下面是详细的攻略: DataFrame列相加 DataFrame列相加实际上是针对DataFrame的列进行对应相加,例如: import pandas as pd # 创建DataFrame df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8…

    python 2023年6月13日
    00
  • python pandas dataframe 去重函数的具体使用

    当我们处理数据时,可能会遇到重复的记录。此时我们需要使用去重函数来去除重复项。在Python的数据分析库pandas中,我们可以使用DataFrame中的drop_duplicates()函数来删除DataFrame中的重复行或者列,它表示数据框中去重。 下面是详细的具体使用攻略: 1. 去除DataFrame中的重复行 如果我们需要去除DataFrame中…

    python 2023年5月14日
    00
  • pandas删除某行或某列数据的实现示例

    首先我们来讲一下pandas删除某列数据的实现。 删除某列数据的实现示例 1. 利用DataFrame.drop()方法删除列 DataFrame.drop()方法可以用来删除行或列,axis参数可以指定删除行还是删除列。当axis=0时删除行,当axis=1时删除列。 示例代码如下: import pandas as pd data = { ‘name’:…

    python 2023年5月14日
    00
  • 使用熔化和未熔化重塑Pandas数据框架

    使用 Pandas 数据框架时,我们有时需要对数据进行重塑以满足不同的业务需求。其中,熔化和未熔化重塑是两种常见的操作。 熔化重塑 熔化重塑是指将一张宽表转化为一张长表的操作,即将表格中的列转换为行,同时将其它列的数据也跟随转换为行。在 Pandas 中,我们可以使用 melt() 方法来进行熔化重塑。 以下是一个 sales 表格的例子: sales = …

    python-answer 2023年3月27日
    00
  • Pytorch 的损失函数Loss function使用详解

    Pytorch的损失函数Loss Function使用详解 在神经网络的模型训练过程中,损失函数是非常重要的一个组成部分。Pytorch作为一个深度学习框架,内置了许多常用的损失函数,可以快速地选择和使用。 1. Pytorch内置损失函数 在Pytorch中,常用的损失函数主要包括以下几种: nn.MSELoss: 均方误差损失函数,适合回归任务。 nn.…

    python 2023年5月14日
    00
  • 在Pandas数据框架中选择具有最大和最小值的行

    在 Pandas 数据框架中选择具有最大和最小值的行有多种方法,下面将详细介绍其中两种方法: 使用 loc 方法结合 idxmin 和 idxmax 方法 import pandas as pd import numpy as np # 创建预置数据 data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部