掌握DataFrame的常用操作

目录

        前言

        一、定义与读取DataFrame

                1. 导入Pandas库

                2. 创建一个简单的DataFrame

                3. 定义DataFrame

                4. 读取DataFrame

        二、查看DataFrame的常用属性

                1. 基础属性

                2. size、ndim和shape属性

                3. 使用T属性进行转置

        三、DataFrame的基本操作

                1.查看数据

                2. 选择数据

                3. 更改、增加和删除数据

                4. 数据排序和排名

                5.数据可视化

                6. 数据聚合和分组

                7. 数据转换和映射 

                8.数据合并与连接

                9.数据缺失值处理

       四、高级操作                

                1.  数据透视表

                2.时间序列处理

        五、总结

前言

什么是DataFrame?

在当今数据驱动的时代,数据分析已成为我们日常生活和工作中不可或缺的一部分。在Python编程中,DataFrame是Pandas库中的一个核心数据结构,用于处理和分析结构化数据。它采用二维表格型形式,包含有序的行和列,每列可以是不同的数据类型(如数值、字符串、布尔值等)。DataFrame提供丰富的数据操作功能,如筛选、排序、聚合等,方便用户进行复杂的数据处理和分析任务。

一、定义与读取DataFrame

1. 导入Pandas库

首先,确保你已经安装了Pandas库。然后,通过以下代码导入它:

import pandas as pd

2. 创建一个简单的DataFrame

Pandas提供了多种方法来创建DataFrame,如从字典、列表、NumPy数组等数据结构中创建。例如,你可以使用字典来创建一个简单的DataFrame:

import pandas as pd  
  
data = {  
    'Name': ['Alice', 'Bob', 'Charlie'],  
    'Age': [25, 30, 35],  
    'City': ['New York', 'San Francisco', 'Los Angeles']  
}  
  
df = pd.DataFrame(data)  
print(df)

3.定义DataFrame

Pandas提供了多种方式来定义DataFrame,可以从列表、字典、二维数组等数据结构中创建。以下是一个简单的示例:

import pandas as pd  
import numpy as np  
  
# 从列表创建DataFrame  
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'San Francisco', 'Los Angeles']}  
df = pd.DataFrame(data)  
print(df)

4. 读取DataFrame

Pandas也支持从各种数据源中读取DataFrame,如CSV文件、Excel文件、数据库等。以下是一个从CSV文件中读取DataFrame的示例

# 从CSV文件中读取DataFrame  
filename = "data.csv"  
df = pd.read_csv(filename)  
print(df)

二、查看DataFrame的常用属性

 1. 基础属性

DataFrame具有一些基础属性,如values(元素值)、index(行索引)、columns(列名)和dtypes(数据类型)。这些属性可以帮助我们快速了解DataFrame的结构和数据类型。

print(df.values)       # 打印元素值  
print(df.index)        # 打印行索引  
print(df.columns)      # 打印列名  
print(df.dtypes)       # 打印数据类型

2. size、ndim和shape属性

  • size:返回DataFrame中的元素总数。

  • ndim:返回DataFrame的维度数(始终为2)。

  • shape:返回一个元组,表示DataFrame的行数和列数

size:返回DataFrame中的元素总数。
ndim:返回DataFrame的维度数(始终为2)。
shape:返回一个元组,表示DataFrame的行数和列数

3. 使用T属性进行转置

使用T属性可以将DataFrame的行和列进行转置。

print(df.T)

三、DataFrame的基本操作

           1.查看数据      

print(df.head(2))  # 查看前两行  
print(df.tail(1))  # 查看最后一行

           2. 选择数据

  • 直接通过列名选择列。

  • 使用.loc[].iloc[]选择行和列(.loc[]基于标签索引,.iloc[]基于整数位置索引)。

  • 使用切片选择多行或多列。

# 选择'Name'列  
print(df['Name'])  
  
# 使用.loc[]选择行和列  
print(df.loc[0, 'Age'])  # 选择第一行'Age'列的值  
  
# 使用.iloc[]选择行和列  
print(df.iloc[0, 1])  # 选择第一行第二列的值(注意索引从0开始)  
  
# 选择前两行  
print(df[:2])

           3. 更改、增加和删除数据

  • 使用赋值语句更改DataFrame中的数据。

  • 使用.assign()方法或直接赋值增加列。

  • 使用drop()方法删除列或行。

# 更改数据  
df.loc[0, 'Age'] = 26  
  
# 增加列  
df['Gender'] = ['Female', 'Male', 'Male']  
  
# 删除列  
df = df.drop(columns=['Gender'])  
  
# 删除行(需要指定行索引)  
df = df.drop(index=0)

           4. 数据排序和排名

使用sort_values()方法对DataFrame进行排序,可以使用ascending参数指定排序方式(升序或降序)。

# 对'Age'列进行升序排序  
df_sorted = df.sort_values(by='Age')  
print(df_sorted)

        5.数据可视化

Pandas结合Matplotlib等可视化库,可以轻松实现数据的可视化。例如:

import matplotlib.pyplot as plt  
  
# 绘制'Age'列的直方图  
df['Age'].hist(bins=10)  
plt.title('Age Distribution')  
plt.xlabel('Age')  
plt.ylabel('Frequency')  
plt.show()

         6. 数据聚合和分组

使用groupby()方法根据一个或多个列的值将数据分成多个组,并对每个组进行聚合操作(如求和、平均值、计数等)。

print(df.groupby('Country')['Age'].mean())  # 按国家分组,并计算平均年龄

           7. 数据转换和映射

使用apply()方法对数据进行转换和映射,可以传入一个函数作为参数

df['Age_squared'] = df['Age'].apply(lambda x: x**2)

          8.数据合并与连接

Pandas提供了多种数据合并与连接的方式,如merge()concat()等。

          9.数据缺失值处理

对于数据中的缺失值,你可以使用fillna()函数进行填充,或者使用dropna()函数删除包含缺失值的行或列。

、高级操作                

                1.  数据透视表

使用pivot_table()函数可以创建数据透视表。

                2.时间序列处理

Pandas提供了强大的时间序列处理功能,如日期范围的生成、时间序列的切片和重采样等。

五、总结

本文详细介绍了DataFrame的常用操作,从基础的数据查看、选择,到高级的数据分组、聚合、合并与连接,再到时间序列处理和数据透视表的创建,旨在帮助你全面掌握DataFrame的使用方法。熟练掌握这些操作,将使你在数据分析和数据科学的道路上更加游刃有余。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值