Pandas DataFrame基础知识

1.1 简介

Pandas 是 Python 编程语言的一个软件库,用于数据操作和分析。它提供了强大的数据结构,特别是 DataFrame,用于处理结构化数据。DataFrame 类似于电子表格,可以存储多种类型的数据,并支持各种数据操作,包括索引、选择、过滤、合并和聚合数据。Pandas 还提供了用于读取和写入各种数据格式(如 CSV、Excel、SQL 数据库等)的工具,使数据的导入和导出变得非常简单。Pandas 是数据科学和机器学习领域的重要工具之一,广泛应用于数据清洗、数据转换、数据可视化等任务。

1.2 加载数据集

1.2.1从csv中读取数据

import pandas as pd
# 读取 CSV 文件
df = pd.read_csv('file.csv')

1.2.2从Excel中读取数据

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

print(df.head())#调用head方法,只显示前五行数据

print(type(df))  #检查返回的是不是DataFrame

print(df.shape)  #返回行数和列数

print(df.columns) #返回列名

print(df.dtypes)#获取每列的dtype

print(df.info())#获取更多数据信息

1.2.3从json中读取数据

import pandas as pd
# 读取 JSON 文件
df = pd.read_json('file.json')

1.3 查看列、行和单元格

1.3.1 获取列子集

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

订单ID_df=df['订单 ID']

print(订单ID_df.head())#只显示前五行数据

print(订单ID_df.tail())#只显示后五行数据

#获取多列数据
多列数据_df=df[['订单 ID','类别','区域']]

print(多列数据_df.head())#只显示前五行数据

1.3.2 获取行子集

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

print(df.head())#只显示前五行数据

print(df.loc[0]) #获取第1行

print(df.loc[99]) #获取第100行

#通过shape的第一个值获取行数
number_of_rows=df.shape[0]

last_row_index=number_of_rows-1

#获取最后一行数据
print(df.loc[last_row_index])

#获取最后一行数据
print(df.tail(n=1))

#获取多行
print(df.loc[[0,99,999]])

#通过行号获取行:iloc
print(df.iloc[-1])

1.3.3 混合

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

#使用loc获取列和行的子集
print(df.loc[:,['客户名称','城市']])

print(df.loc[0:99,['客户名称','城市']])

#使用iloc获取列和行的子集
print(df.iloc[:,[6,8,-1]])

print(df.iloc[0:100,[6,8,-1]])  

1.4 分组和聚合计算

1.4.1 分组方式

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

#根据消费者类型分组求销售额的总和
print(df.groupby('细分')['销售额'].sum())
#多字段分组聚合
print(df.groupby(['细分','区域'])[['销售额','数量']].sum())

#平铺dataframe
print(df.groupby(['细分','区域'])[['销售额','数量']].sum().reset_index())

1.4.2 分组频率计数

import pandas as pd

# 读取 Excel 文件的指定工作表
df = pd.read_excel(r'E:\\PycharmProjects\\pandas学习\\超市.xls', sheet_name='订单')

#使用nunique()方法计算series中唯一值的数量
print(df.groupby(['细分'])['区域'].nunique())

#使用value_counts()方法计算series中出现的次数
print(df.groupby(['细分'])['区域'].value_counts())

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值