Python 数据处理库 pandas 入门教程基本操作

Python数据处理库pandas入门教程基本操作

简介

pandas是Python中一种很流行的数据处理库,既拥有NumPy数组的高性能计算特性,又具备Excel表格和SQL数据库的灵活性与可操作性,是进行数据清洗、分析、转换等操作的必备利器。本文将通过一些基本操作的实例来帮助读者入门pandas。

安装

在开始使用pandas之前应该先安装它。可以通过pip命令来进行安装:

pip install pandas

导入

安装好pandas之后就可以导入它开始使用了,一般约定俗成的别名为pd:

import pandas as pd

数据对象-DataFrame

pandas主要有两种数据类型,一种是DataFrame,另一种是Series。Series是一维数组,而DataFrame则是二维的类似表格的结构,由行和列组成。在操作数据时一般都是以DataFrame的形式载入数据。

创建DataFrame

通过以下代码创建一个DataFrame对象:

import pandas as pd

data = { 
    'name': ['Jack', 'Kelly', 'Mike'],
    'age': [18, 20, 22], 
    'gender': ['male', 'female', 'male']
}

df = pd.DataFrame(data)
print(df)

输出结果:

    name  age  gender
0   Jack   18    male
1  Kelly   20  female
2   Mike   22    male

读取外部数据到DataFrame

pandas可以通过多种方式读取外部的数据文件格式,比如xlxs、csv等等。以下是读取Excel文件的示例:

import pandas as pd

df = pd.read_excel('data.xlsx')
print(df)

保存DataFrame为外部数据文件

pandas同样可以将DataFrame对象保存为多种外部数据文件格式。以下是将DataFrame保存为csv文件的示例:

import pandas as pd

data = { 
    'name': ['Jack', 'Kelly', 'Mike'],
    'age': [18, 20, 22], 
    'gender': ['male', 'female', 'male']
}

df = pd.DataFrame(data)
df.to_csv('output.csv', index=False)

基本操作

查看基本信息

在使用DataFrame时,一般情况下需要先了解数据的基本信息。比如数据有哪些列、每列都有多少非空数据值、数据类型等等。可以通过以下代码获取这些信息:

import pandas as pd

df = pd.read_excel('data.xlsx')

print(df.columns)  # 获取每列的列名
print(df.dtypes)  # 获取每列的数据类型
print(df.info())  # 获取DataFrame的基本信息

数据选择和过滤

在DataFrame中可以通过多种方式进行数据的选择和过滤。最常用的方法是使用列的名称进行选择:

import pandas as pd

df = pd.read_excel('data.xlsx')

# 选择单列:
print(df['age'])

# 选择多列:
print(df[['name', 'gender']])

# 过滤数据:
print(df[df['age'] > 18])

排序

可以按照某一或多个列的数据进行升序或降序排列:

import pandas as pd

df = pd.read_excel('data.xlsx')

# 按照name列的数据进行升序排列:
print(df.sort_values('name'))

# 按照age和name列的数据进行降序排列:
print(df.sort_values(['age', 'name'], ascending=[False, True]))

示例

示例一:分析餐厅小费数据

import pandas as pd

# 读取小费数据
df = pd.read_csv('tips.csv')
# 输出前几行观察数据
print(df.head())

# 计算小费占账单的比例,并加入到DataFrame中
df['tip_pct'] = df['tip'] / df['total_bill']
# 输出前几行观察数据
print(df.head())

# 查看每个顾客的小费占账单比例的均值、中位数等统计信息
print(df['tip_pct'].describe())

# 按照性别和吸烟习惯分组,查看小费占账单比例的统计信息
grouped = df.groupby(['sex', 'smoker'])['tip_pct'].describe()
print(grouped)

示例二:分析电影评分数据

import pandas as pd

# 读取电影评分数据
movies = pd.read_csv('movies.csv')
ratings = pd.read_csv('ratings.csv')
# 根据"movieId"字段进行合并
data = pd.merge(movies, ratings, on='movieId')
# 针对每个电影计算平均分,并选出前20名进行观察
mean_ratings = data.pivot_table('rating', index='title',
                                 columns='userId', aggfunc='mean')
top20 = mean_ratings.mean().sort_values(ascending=False)[:20]
print(top20)

结论

本文主要介绍了pandas的基础知识和操作方法,并且通过两个示例给读者展示了如何运用pandas进行实际数据分析。在未来的实际使用中可以根据自己的需要掌握更多的操作方法和函数来满足复杂的数据处理需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 数据处理库 pandas 入门教程基本操作 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 关于pandas的离散化,面元划分详解

    下面是关于pandas的离散化、面元划分的详解。 什么是离散化和面元划分? 离散化是数据预处理的一种方式,将连续的数值型数据分成有限个数字区间,称为“面元”(bin),将一些连续数据转为离散数据。比如对于身高这个特征,我们可以根据数据的分布情况,将身高按照一定的间隔区间进行划分,比如160-165,165-170等等,这样就将连续的身高范围划分成了离散的几个…

    python 2023年5月14日
    00
  • 如何在Pandas数据框架中把整数转换为日期时间

    将整数转换为日期时间在Pandas数据框架中非常常见,下面是具体步骤: 导入必要的库 import pandas as pd from datetime import datetime, timedelta 假设我们有一个整形数据帧df,其中“日期”列是整数形式,表示从2000年1月1日以来的天数。我们将使用以下代码将其转换为日期时间: df[‘日期’] =…

    python-answer 2023年3月27日
    00
  • 浅谈Python数据类型判断及列表脚本操作

    浅谈Python数据类型判断及列表脚本操作 在Python中,数据类型是非常重要的概念。对于程序员来说,非常重要的一个能力是区分不同类型的数据,并能够进行不同的操作。本文将讲解在Python中如何判断数据类型,并介绍Python中对列表进行脚本操作的方法。 判断数据类型 判断数据类型是Python中非常重要的概念,因为不同的数据类型需要使用不同的操作符和函数…

    python 2023年6月13日
    00
  • pandas计算最大连续间隔的方法

    下面是针对“pandas计算最大连续间隔的方法”的攻略: 步骤一:导入pandas和numpy库 要使用pandas计算最大连续间隔,首先需要导入必要的库。使用以下代码导入pandas和numpy库: import pandas as pd import numpy as np 步骤二:创建示例数据集 为了演示如何计算最大连续间隔,我们需要创建一个示例数据集…

    python 2023年6月13日
    00
  • 如何在Pandas中利用时间序列

    下面我将为您详细讲解如何在Pandas中利用时间序列的完整攻略,并提供相应的示例说明。 一、导入数据 从文件或其他数据源收集完数据之后,我们需要先将数据导入Pandas中,以便我们能够使用Pandas中的时间序列操作功能。在Pandas中,我们可以使用pd.read_csv函数来导入csv格式的文件,使用pd.read_excel函数来导入Excel文件,或…

    python-answer 2023年3月27日
    00
  • 使用Pandas模块串联CSV文件

    使用Pandas模块可以非常方便地读取、处理、分析CSV文件,同时也支持串联多个CSV文件。下面是使用Pandas模块串联CSV文件的完整攻略: 1. 导入Pandas模块 首先要导入Pandas模块,可以使用以下代码: import pandas as pd 2. 读取CSV文件 使用Pandas模块读取CSV文件非常简单,可以使用pd.read_csv(…

    python-answer 2023年3月27日
    00
  • MySQL 8.0 之索引跳跃扫描(Index Skip Scan)

    MySQL 8.0 之索引跳跃扫描(Index Skip Scan)是一种优化查询效率的技术,在某些索引查询场景下能够显著提高查询效率。下面就来详细讲解一下这种技术的完整攻略。 什么是索引跳跃扫描 索引跳跃扫描技术是在使用多列索引查询时,通过跳过一部分索引列而直接进入上下文扫描阶段,以减少扫描的数据行数,从而提高查询效率的一种优化手段。具体来说,就是通过构建…

    python 2023年6月13日
    00
  • pandas.read_csv参数详解(小结)

    下面是对于“pandas.read_csv参数详解(小结)” 的详细攻略: pandas.read_csv参数详解 基本参数 pandas.read_csv(file_path: str, delimiter: str, header: Union[int, List[int]], names: Optional[List[str]], index_col:…

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