跟着ChatGPT学Python数据分析之Pandas使用方法

pandas介绍

pandas是一个基于NumPy的开源数据处理库,是Python语言的一个重要扩展库,提供了大量高级数据结构和数据分析工具。
pandas主要有两种数据结构:Series和DataFrame。Series是一维带标签的数组,可以存储不同类型的数据,类似于Python的列表;DataFrame则是二维的表格结构,可以看作是由Series组成的字典,每一列的数据类型可以不同,类似于Excel表格。
pandas可以用于数据清洗、数据转换、数据分析、数据可视化等任务,常用的操作包括数据筛选、数据排序、数据分组、数据聚合、数据透视表等。
使用pandas可以大大提高数据分析和处理的效率,同时也提供了大量方便的函数和方法,如read_csv()、read_excel()、pivot_table()、merge()等。

pandas库的基本操作

import pandas as pd
df = pd.read_csv('data.csv')  # 读取csv文件
df = pd.read_excel('data.xlsx')  # 读取Excel文件
print(df.head())  # 打印数据前5行
print(df.tail())  # 打印数据后5行
print(df.sample(5))  # 打印5个随机行
print(df.describe())  # 打印数据统计信息
df['column_name']  # 选择单个列
df[['column_1', 'column_2']]  # 选择多个列
df.loc[0]  # 选择第1行数据
df.loc[0:4]  # 选择第1-5行数据
df.loc[0:4, 'column_name']  # 选择第1-5行数据的单个列
df.loc[df['column_name'] > 10]  # 根据条件选择数据
df.dropna()  # 删除包含NaN的行
df.fillna(0)  # 将NaN替换为0
df['column_name'].replace(1, 100)  # 将所有值为1的替换为100
df.groupby('column_name').sum()  # 对列分组并求和
df.groupby(['column_1', 'column_2']).mean()  # 对多列分组并求平均值
df.sort_values('column_name')  # 按列排序
df.sort_values('column_name', ascending=False)  # 按列降序排序
df.sort_values(['column_1', 'column_2'])  # 按多列排序

以上只是简单介绍了pandas库的一些基本操作,如果需要更深入的了解,可以参考官方文档。

Excel数据实例演示

我有一个Excel表格的数据,表头有款式编码、颜色、规格、商品编码、名称、数量,我想根据名称来统计,每个规格的数量,用pandas写一个数据透视代码。

看看ChatGPT的回答:

可以使用 pandas 的 pivot_table 函数来实现,具体代码如下:

import pandas as pd

# 读取 Excel 数据,假设文件名为 example.xlsx,数据位于第一个工作表
df = pd.read_excel('example.xlsx', sheet_name=0)

# 使用 pivot_table 函数生成透视表
pivot = pd.pivot_table(df, index='名称', columns='规格', values='数量', aggfunc='sum')

# 输出透视表
print(pivot)

代码解释:

  1. 首先使用 pd.read_excel 函数读取 Excel 文件,并将数据存储在一个 pandas 的 DataFrame 对象中。
  2. 使用 pd.pivot_table 函数生成透视表,需要指定以下几个参数:
  3. df:要生成透视表的 DataFrame 对象;
  4. index:透视表中的行索引,这里选择使用“名称”列;
  5. columns:透视表中的列索引,这里选择使用“规格”列;
  6. values:透视表中的数据值,这里选择使用“数量”列;
  7. aggfunc:透视表中数据聚合方式,这里选择求和。
  8. 最后使用 print 函数输出透视表。

这段代码将会根据名称来统计每个规格的数量,并将结果输出为一个透视表。

如果要将透视表保存为 Excel 文件,可以使用 to_excel 方法将数据写入新的 Excel 文件中。代码如下:

import pandas as pd

# 读取 Excel 数据,假设文件名为 example.xlsx,数据位于第一个工作表
df = pd.read_excel('example.xlsx', sheet_name=0)

# 使用 pivot_table 函数生成透视表
pivot = pd.pivot_table(df, index='名称', columns='规格', values='数量', aggfunc='sum')

# 将透视表保存为 Excel 文件
pivot.to_excel('pivot_table.xlsx', sheet_name='Sheet1')

代码解释:

  1. 首先使用 pd.read_excel 函数读取 Excel 文件,并将数据存储在一个 pandas 的 DataFrame 对象中。
  2. 使用 pd.pivot_table 函数生成透视表,参数设置和上面的例子一样。
  3. 使用 to_excel 方法将透视表保存为一个新的 Excel 文件,需要指定以下几个参数:
  4. excel_writer:保存文件的路径和文件名;
  5. sheet_name:要保存到的工作表名称。

这段代码将会根据名称来统计每个规格的数量,并将结果保存为一个新的 Excel 文件 pivot_table.xlsx。

行使用名称和颜色来统计,列使用规格,使用数量求和,最后一列和最后一行加一个总计

可以使用pandas库中的pivot_table方法来实现。以下是代码示例:

import pandas as pd

# 读取Excel数据
df = pd.read_excel('your_file_name.xlsx')

# 数据透视表
pivot_table = pd.pivot_table(df, index=['名称', '颜色'], columns=['规格'], values='数量', aggfunc='sum', margins=True, margins_name='总计')

# 将结果写入新的Excel文件
pivot_table.to_excel('your_output_file_name.xlsx')

这段代码会读取名为'your_file_name.xlsx'的Excel文件,并根据名称和颜色来统计每个规格的数量,最后一列和最后一行会分别显示总计。最后,程序将结果写入名为'your_output_file_name.xlsx'的新Excel文件中。需要注意的是,需要安装pandas库才能运行以上代码。

代码验证

最后在vscode里使用Jupyter Notebook来验证一下上面的代码是否可行

import pandas as pd #导入pandas库
# 读取 Excel 数据,读取文件名为 商品库存.xlsx的Excel文件,数据位于第一个工作表
df = pd.read_excel('商品库存.xlsx', sheet_name=0)
# 使用 pivot_table 函数生成透视表
pivot_table = pd.pivot_table(df, index=['名称', '颜色'], columns=['规格'], values='数量', aggfunc='sum', margins=True, margins_name='总计')
# 输出透视表
print(pivot_table)
# 将透视表保存名为your_output_file_name.xlsx的Excel文件
pivot_table.to_excel('your_output_file_name.xlsx')

pandas运行结果

展开阅读全文

页面更新:2024-02-29

标签:数据   使用方法   透视   函数   规格   数量   颜色   名称   代码   文件   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top