当前位置: 首页 > article >正文

Python框架Pandas:DataFrame的应用

一、DataFrame

DataFrame是什么?
在这里插入图片描述

1.1 DataFrame的创建

1.1.1 方式一:使用字典加列表创建df,使用默认自增索引

import pandas as pd
# 使用字典加列表创建df,使用默认自增索引
df1_data = {
    '日期':['2021-08-21','2021-08-22','2021-08-23'],
    '温度':[25,26,30],
    '湿度':[81,90,79]
}
df1 = pd.DataFrame(data=df1_data)
df1

运行结果:
在这里插入图片描述

1.1.2 方式二、使用列表加元组创建df,并自定义索引

import pandas as pd
# 使用列表加元组创建df,并自定义索引
# 使用列表加元组创建df,并自定义索引
df2_data = [
    ('2024-09-10',23,90),
    ('2024-09-11',24,80),
    ('2024-09-12',25,85),
]
df2 = pd.DataFrame(
    data = df2_data,
    columns = ['日期','温度','湿度'],
    index = ['row_1','row_2','row_3']
)
df2

在这里插入图片描述

1.1.3 方式三:使用numpy创建df

# 生成10名同学,5门功课的数据
score = np.random.randint(40, 100, (10, 5))
# 使用Pandas中的数据结构
score_df = pd.DataFrame(score)

# 增加行列索引

# 构造行索引序列
subjects = ["语文", "数学", "英语", "政治", "体育"]

# 构造列索引序列
stu = ['同学' + str(i) for i in range(score_df.shape[0])]

# 添加行索引
data = pd.DataFrame(score, columns=subjects, index=stu)

运行结果:
在这里插入图片描述

1.4 DataFrame索引的设置

原始数据:
在这里插入图片描述

1.4.1 修改行列索引值

# 1.修改行列索引值
stu = ['学生_' + str(i) for i in range(score_df.shape[0])]
# 必须整体全部修改
data.index = stu
data

在这里插入图片描述

# 注意:错误的修改方式
data.index[3] = '学生_3'

1.4.2 重设索引

# 重置索引,drop=False
data.reset_index()

drop:默认为False,不删除原来索引,如果为True,删除原来的索引值
在这里插入图片描述

data.reset_index(drop=True)

在这里插入图片描述

1.4.3 以某列值设置为新的索引

set_index(keys, drop=True)
keys : 列索引名成或者列索引名称的列表
drop : boolean, default True.当做新的索引,删除原来的列

第一步:创建DataFrame

# 创建DataFrame
df = pd.DataFrame({
    'month':[1,4,7,10],
    'year':[2012,2014,2013,2014],
    'sale':[55,40,84,31]
})
df

在这里插入图片描述

第二步:以月份设置新的索引

df.set_index('month')

在这里插入图片描述

第三步:设置多个索引,以年和月份

df.set_index(['year','month'])

在这里插入图片描述


http://www.kler.cn/a/298526.html

相关文章:

  • 开放词汇检测新晋SOTA:地瓜机器人开源DOSOD实时检测算法
  • SpringBoot日常:集成Kafka
  • 2025新春烟花代码(二)HTML5实现孔明灯和烟花效果
  • Improving Language Understanding by Generative Pre-Training GPT-1详细讲解
  • 用户界面软件02
  • 细说STM32F407单片机以轮询方式读写外部SRAM的方法
  • 2024年【上海市安全员C证】考试题库及上海市安全员C证报名考试
  • 经验笔记:框架(Framework)与库(Library)
  • div内英文不换行问题以及解决方案
  • 深入解析 Docker exec 命令
  • 2-2 opencv实战进阶系列 多边形识别
  • Mac M1安装Hive
  • 大数据-121 - Flink Time Watermark 详解 附带示例详解
  • NX二次开发—实体名称工具
  • ping命令解析
  • 掌握Go语言的流程控制:构建逻辑与决策的基石
  • 【代码随想录训练营第42期 Day55打卡 - 图论Part5 - 并查集的应用
  • fpga系列 HDL:全连接层InegrationFCpart.v的权重读取 $readmemh
  • Oracle使用序列后提示违反唯一约束---解决办法
  • 【人工智能】枢纽:数据驱动洞察引领未来智能系统
  • SFC CSS 功能:深层选择/插槽选择器/动态绑定
  • axios取消请求
  • 【Docker】容器简介和构建镜像
  • 18、Gemini-Pentest-v1
  • Oracle数据库的启动和关闭
  • 【区块链通用服务平台及组件】云链白泽区块链 baas 平台