Python数据分析库pandas基本操作方法

下面是针对“Python数据分析库pandas基本操作方法”的完整攻略,包括pandas的基本数据结构、数据导入与输出、数据清洗、数据统计分析等方面的基本操作方法。

一、pandas的基本数据结构

pandas的基本数据结构主要有两种,即Series和DataFrame。其中,Series相当于一维数组,包含数据以及数据对应的索引;DataFrame则是二维表格,可以看成是Series的一个容器,包含多个Series以及相应的索引。

1. Series

创建Series对象的方法如下:

import pandas as pd

# 通过数组创建Series
arr = [1, 2, 3, 4]
s = pd.Series(arr)
print(s)

# 通过字典创建Series
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
s = pd.Series(dict)
print(s)

上述代码通过数组和字典创建了两个Series对象,分别输出如下:

0    1
1    2
2    3
3    4
dtype: int64

a    1
b    2
c    3
d    4
dtype: int64

2. DataFrame

创建DataFrame对象的方法如下:

import pandas as pd

# 通过二维数组创建DataFrame
arr = [[1,2,3],[4,5,6],[7,8,9]]
df = pd.DataFrame(arr, columns=['a', 'b', 'c'], index=['x', 'y', 'z'])
print(df)

# 通过字典创建DataFrame
dict = {'a': [1,4,7], 'b': [2,5,8], 'c': [3,6,9]}
df = pd.DataFrame(dict, index=['x', 'y', 'z'])
print(df)

上述代码通过二维数组和字典创建了两个DataFrame对象,分别输出如下:

   a  b  c
x  1  2  3
y  4  5  6
z  7  8  9

   a  b  c
x  1  2  3
y  4  5  6
z  7  8  9

二、数据导入与输出

1. 数据导入

pandas支持读取多种数据格式,包括CSV、Excel、JSON等格式。常用的读取方法有如下几种:

import pandas as pd

# 读取CSV格式的数据
df = pd.read_csv('data.csv')

# 读取Excel格式的数据
df = pd.read_excel('data.xlsx')

# 读取JSON格式的数据
df = pd.read_json('data.json')

上述代码通过read_csv()、read_excel()、read_json()方法,分别读取了CSV、Excel、JSON格式的数据。读取完毕后,可以使用head()方法查看前几行数据:

print(df.head())

2. 数据输出

pandas支持将数据输出为多种格式,包括CSV、Excel、JSON等格式。常用的输出方法有如下几种:

import pandas as pd

# 输出为CSV格式
df.to_csv('output.csv', index=False)

# 输出为Excel格式
df.to_excel('output.xlsx', index=False)

# 输出为JSON格式
df.to_json('output.json', orient='records')

上述代码通过to_csv()、to_excel()、to_json()方法,分别将数据输出为CSV、Excel、JSON格式的文件。其中,to_csv()和to_excel()方法还可以指定输出的文件名和索引信息。

三、数据清洗

1. 处理缺失值

pandas中常用的处理缺失值的方法有两种,即dropna()和fillna()。其中,dropna()方法用于删除包含缺失值的行或列;fillna()方法用于将缺失值用指定的值进行填充。

import pandas as pd

# 创建包含缺失值的DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, None, 25]}
df = pd.DataFrame(data)

# 删除包含缺失值的行
df = df.dropna()

# 将缺失值填充为0
df = df.fillna(0)

上述代码通过dropna()和fillna()方法,分别删除了包含缺失值的行,以及将缺失值填充为0。

2. 处理重复值

pandas中常用的处理重复值的方法是drop_duplicates(),方法会删除DataFrame对象中的重复行。

import pandas as pd

# 创建包含重复行的DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Tom'], 'age': [20, 30, 25, 20]}
df = pd.DataFrame(data)

# 删除重复行
df = df.drop_duplicates()

上述代码通过drop_duplicates()方法,删除了DataFrame对象中的重复行。

四、数据统计分析

1. 基本统计量计算

pandas中常用的基本统计量计算的方法包括mean()、median()、mode()、var()、std()、sum()等。通过这些方法,可以计算出DataFrame中每列数据的平均值、中位数、众数、方差、标准差、和等信息。

import pandas as pd

# 创建DataFrame对象
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, 25, 22], 'score': [80, 90, 85, 95]}
df = pd.DataFrame(data)

# 计算平均值
print(df.mean())

# 计算中位数
print(df.median())

# 计算众数
print(df.mode())

# 计算方差
print(df.var())

# 计算标准差
print(df.std())

上述代码通过mean()、median()、mode()、var()、std()方法,分别计算了DataFrame中每列数据的平均值、中位数、众数、方差、标准差等信息。

2. 分组统计

pandas中的分组统计功能十分强大,可以使用groupby()方法对数据进行分组,然后使用聚合函数进行统计计算。

import pandas as pd

# 创建DataFrame对象
data = {'name': ['Tom', 'Jerry', 'Mike', 'Kate'], 'age': [20, 30, 25, 22], 'score': [80, 90, 85, 95]}
df = pd.DataFrame(data)

# 按照age列进行分组,计算每组的平均分
result = df.groupby(by='age').mean()

print(result)

上述代码使用groupby()方法将DataFrame对象按照age列进行分组,然后使用mean()方法计算每组的平均分。

两条示例说明

示例一:读取CSV文件并统计数据信息

import pandas as pd

# 读取CSV格式的数据
df = pd.read_csv('data.csv')

# 计算每个科目的平均成绩
mean_score = df.mean()
print(mean_score)

# 计算每个班级的平均成绩
class_mean_score = df.groupby(by='class').mean()
print(class_mean_score)

上述代码通过read_csv()方法读取了CSV格式的数据,然后使用mean()方法分别计算了每个科目的平均成绩,以及每个班级的平均成绩。

示例二:处理缺失值并输出到Excel文件

import pandas as pd

# 读取CSV格式的数据
df = pd.read_csv('data.csv')

# 将缺失值填充为0
df = df.fillna(0)

# 输出到Excel文件
df.to_excel('output.xlsx', index=False)

上述代码通过fillna()方法将CSV文件中的缺失值填充为0,然后使用to_excel()方法将数据输出到Excel文件中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据分析库pandas基本操作方法 - Python技术站

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

相关文章

  • 快速解释如何使用pandas的inplace参数的使用

    当调用Pandas 的许多更改操作时,您通常有两个选项:直接更改现有 DataFrame 或 Series 对象,或者返回新的更改副本。使用 inplace 参数可以使更改直接应用于现有对象,而无需创建新副本。本文将详细介绍 Pandas 中 inplace 参数的使用方法及示例。 什么是 inplace 参数? inplace 参数是许多 Pandas 操…

    python 2023年5月14日
    00
  • 浅谈pandas.cut与pandas.qcut的使用方法及区别

    浅谈pandas.cut与pandas.qcut的使用方法及区别 pandas.cut pandas.cut是用于对一列数据进行分段操作的函数。其语法形式为: pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, dupli…

    python 2023年5月14日
    00
  • 教你使用Python根据模板批量生成docx文档

    教你使用Python根据模板批量生成docx文档 简介 docx是Microsoft Word的文档格式,使用Python可以根据给定模板批量生成docx文档。本文将会介绍如何使用Python进行docx文件的自动化生成。 安装所需模块 在进行下一步之前,需要安装以下模块: docx:处理docx文件格式的Python库。可通过这个链接进行安装。 pip i…

    python 2023年6月14日
    00
  • 用python爬取历史天气数据的方法示例

    下面我给你讲解一下用Python爬取历史天气数据的方法示例的完整攻略。 1.确定爬取的数据源 首先,需要确定所要爬取的历史天气数据源。常见的天气数据源有中国天气网、墨迹天气、百度天气等。在此我们以中国天气网为例。 2.分析网页 进入中国天气网,在“历史天气”页面中选择要查询的城市和日期,然后点击“查询”按钮。在右侧的页面中,会显示当天的天气状况和历史天气数据…

    python 2023年5月14日
    00
  • Python程序流程控制实验

    首先,我们来介绍一下Python程序流程控制实验的基本概念。 编程中的程序流程控制是指控制程序的执行顺序,使程序按照一定的逻辑顺序执行。Python中的程序流程控制可以通过条件语句、循环语句和函数等实现。 在进行Python程序流程控制实验时,我们需要掌握以下几个方面的内容: 条件语句 条件语句可以通过判断条件是否成立来执行相应的代码块。在Python中,条…

    python 2023年5月14日
    00
  • 利用Pandas实现对数据进行移动计算

    当需要对数据进行滚动/移动计算时,使用Pandas可以方便地进行操作。下面是实现移动计算的完整攻略,包括滚动计算和移动计算。 1. 滚动计算 滚动计算是针对某个窗口中的数据进行计算的方法,这里我们以计算滑动窗口为3的均值为例。假设有如下数据: 序号 数值 1 5 2 8 3 2 4 9 5 3 6 7 7 1 使用Pandas实现如下: import pan…

    python 2023年5月14日
    00
  • 从字典的字典创建Pandas数据框架

    首先,我们需要了解什么是字典的字典。字典的字典是指一个字典对象中每个键对应的值是一个字典对象。 例如,下面的字典d1就是一个字典的字典: d1 = {‘A’: {‘X’: 1, ‘Y’: 2}, ‘B’: {‘X’: 3, ‘Y’: 4}} 在这个字典中,键’A’和’B’对应的值都是一个字典。 现在,我们来讲解如何从字典的字典创建Pandas数据框架。 步骤…

    python-answer 2023年3月27日
    00
  • 如何选择Pandas数据框架的单列

    选择 Pandas 数据框架的单列需要考虑以下因素: 列名:选择具有代表性的列名,需要明确地表达自己的数据类型和内容,方便下一步的数据分析。 数据类型:考虑用哪种数据类型来储存数据,例如是否是数值型、字符型或日期型等,以及储存时是否需要进行缩减或更改数据类型。 数据格式:在进行数据分析的过程中,需要选择最合适的数据格式,例如字符串、数值或时间序列,以确保分析…

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