Pandas DataFrame学习补充

news2024/11/6 17:25:47

1. 从字典创建:字典的键成为列名,值成为列数据。

import pandas as pd

# 通过字典创建 DataFrame
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': [4, 5, 6]})

2. 从列表的列表创建:外层列表代表行,内层列表代表列。

df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]],
                  columns=['Column1', 'Column2', 'Column3'])

3. 从 NumPy 数组创建:提供一个二维 NumPy 数组。

import numpy as np

# 通过 NumPy 数组创建 DataFrame
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))

4. 从 Series 创建 DataFrame:通过 pd.Series() 创建。

# 从 Series 创建 DataFrame
s1 = pd.Series(['Alice', 'Bob', 'Charlie'])
s2 = pd.Series([25, 30, 35])
s3 = pd.Series(['New York', 'Los Angeles', 'Chicago'])
df = pd.DataFrame({'Name': s1, 'Age': s2, 'City': s3})

5.DataFrame 属性和方法

    DataFrame 对象有许多属性和方法,用于数据操作、索引和处理,例如:shape、columns、index、head()、tail()、info()、describe()、mean()、sum() 等。

# DataFrame 的属性和方法
print(df.shape)     # 形状
print(df.columns)   # 列名
print(df.index)     # 索引
print(df.head())    # 前几行数据,默认是前 5 行
print(df.tail())    # 后几行数据,默认是后 5 行
print(df.info())    # 数据信息
print(df.describe())# 描述统计信息
print(df.mean())    # 求平均值
print(df.sum())     # 求和

6.访问 DataFrame 元素

     使用列名作为属性或通过 .loc[].iloc[] 访问,也可以使用标签或位置索引。使用行的标签和 .loc[] 访问。

# 通过属性访问
print(df.Name)    

# 通过 .iloc[] 访问
print(df.iloc[:, 0])

# 访问单个元素
print(df['Name'][0])

7.修改列数据:直接对列进行赋值

df['Column1'] = [10, 11, 12]

8.添加新列:给新列赋值

df['NewColumn'] = [100, 200, 300]

9.添加新行:使用 concat 方法

     concat() 方法用于合并两个或多个 DataFrame,当你想要添加一行到另一个 DataFrame 时,可以将新行作为一个新的 DataFrame,然后使用 concat()

# 使用concat添加新行
new_row = pd.DataFrame([[4, 7]], columns=['A', 'B'])  # 创建一个只包含新行的DataFrame
df = pd.concat([df, new_row], ignore_index=True)  # 将新行添加到原始DataFrame

print(df)

10.删除列:使用 drop 方法

df_dropped = df.drop('Column1', axis=1)

11.删除行:同样使用 drop 方法

df_dropped = df.drop(0)  # 删除索引为 0 的行

12.描述性统计:使用 .describe() 查看数值列的统计摘要

df.describe()

13.重置索引:使用 .reset_index()

df_reset = df.reset_index(drop=True)

14.设置索引:使用 .set_index()

df_set = df.set_index('Column1')

15.使用布尔表达式:根据条件过滤 DataFrame

df[df['Column1'] > 2]

16.查看数据类型:使用 dtypes 属性

df.dtypes

17.转换数据类型:使用 astype 方法

df['Column1'] = df['Column1'].astype('float64')

18.DataFrame 支持对行和列进行索引和切片操作

# 索引和切片
print(df[['Name', 'Age']])  # 提取多列
print(df[1:3])               # 切片行
print(df.loc[:, 'Name'])     # 提取单列
print(df.loc[1:2, ['Name', 'Age']])  # 标签索引提取指定行列
print(df.iloc[:, 1:])        # 位置索引提取指定列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2229162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

剖析高精度、直线电机技术八大常见问题你了解吗?

在现代工业自动化和机械工程的快速发展背景下,高精度直线电机技术逐渐崭露头角,成为推动各类高端设备和系统的重要力量。直线电机以其独特的工作原理和优越的性能特点,广泛应用于数控机床、自动化生产线、机器人等领域。 一、什么是高精度直线…

如何解决RabbitMQ消息的重复消费问题

什么情况下会导致消息的重复消费——在消费者还没成功发送自动确认机制时发生: 网络抖动消费者挂了 解决方案 每条消息设置一个唯一的标识id幂等方案:【Redis分布式锁、数据库锁(悲观锁、乐观锁)】 面试官:如何解决…

jade 0919 | 提取自TVBox的直播盒子,频道丰富高清

jade电视直播app覆盖央视全频道和各大卫视,各地地方台也能一网打尽,随时随地看高清电视。各卫视台覆盖广泛,包括浙江电视台、湖南卫视、江苏卫视、东方卫视等全部卫视台,最新内容先一步掌握。拥有广东、北京、风云足球等热播体育频…

书生大模型实战营第四期-入门岛第一关

关卡任务 好的,我们废话不多说,开始闯关Go,Go,Go! 闯关任务 SSH连接到本地使用开发机是很舒服的,但是我们该如何连接呢,别急,书生给我们教程了 这里我们展示结果,对了,本地SSH连接需要安装一些…

臻于智境 安全护航 亚信安全受邀出席新华三智算新品发布会

近日,紫光股份旗下新华三集团在北京隆重举办了主题为“乘势 进化 臻于智境”的新华三智算新品发布会。作为新华三集团的长期战略合作伙伴,亚信安全受邀参会,亚信安全CEO马红军出席发布仪式,并与来自各界的业界伙伴共同探讨智能化…

错题收集app有哪些?5个软件帮助你快速进行app收集

错题收集app有哪些?5个软件帮助你快速进行app收集 以下是五款便捷实用的错题收集 App,能够帮助你更高效地记录、整理和复习错题: 试卷全能宝 试卷全能宝 是一款多功能试卷识别和编辑软件,适合用于错题整理和记录。你可以创建错…

GitGraphPro 图管理系统

1.产品介绍 产品介绍方案 产品名称: GitGraphPro 图管理系统 主要功能: 智能图谱构建版本控制与协作数据分析与可视化自定义模板与导出功能介绍: 1. 智能图谱构建 具体作用:GitGraphPro 利用先进的算法,自动从项目数据

flask框架用法介绍(一)

flask框架用法介绍(一) 一、创建flask项目二、创建模板以及简单的前后端数据传递三、在模板中使用条件判断和循环3.1 条件判断3.2 for循环四、模板继承一、创建flask项目 项目框架如下: app.py内容如下: from flask import Flaskapp = Flask(__name__)@app.route("…

[免费]SpringBoot+Vue学生成绩管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue学生成绩管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue学生成绩管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着计算机互联网技术的不断发展,不断…

接口测试(九)jmeter——关联(JSON提取器)

一、JSON提取器介绍 要检查的响应字段:样本数据源引用名称:可自定义设置引用方法:${引用变量名}匹配数字 匹配数字含义-1表示全部0随机1第一个2第二个…以此类推 缺省值:匹配失败时的默认值ERROR,可以不写 二、js…

【MyBatis源码】SqlSessionFactoryBuilder源码分析

文章目录 概述类结构从 InputStream 创建 SqlSessionFactoryXMLConfigBuilder构建ConfigurationXMLConfigBuilder初始化方法parse()方法parseConfiguration属性(properties) 概述 SqlSessionFactory 是 MyBatis 的核心接口之一,提供创建 Sql…

鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元

目录 前言 HarmonyOS NEXT:下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 (1)全维度性能升级 (2&#xff…

SQLite3库增删改查实现数据管理

1. SQLite3简介 SQLite3是一个轻量级的、嵌入式的关系型数据库管理系统,在保存测序数据或结果等时可使用,简单高效,并且有无需服务器、单文件存储数据、支持标准SQL、支持跨平台等优势。 本文以Sqlite3数据库为基础,创建代码示例…

【实验八】前馈神经网络(4)优化问题

1 参数初始化 模型构建 模型训练 优化 完整代码 2 梯度消失问题 模型构建 模型训练 完整代码 3 死亡Relu问题 模型构建 模型训练 优化 完整代码 1 参数初始化 实现一个神经网络前,需要先初始化模型参数。如果对每一层的权重和偏置都用0初始化&#xff0…

Vscode配置CC++编程环境的使用体验优化和补充说明

文章目录 快速编译运行👺code runner插件方案Code Runner Configuration 直接配置 相关指令和快捷键默认task配置和取消默认 配置文件补充介绍(可选 推荐阅读)😊使用vscode预置变量和环境变量环境变量的使用使用环境变量的好处环境变量可能引起的问题 检…

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中,每一层都会添加自己的头部信息,最终形成完整的数据包。具体来说: 应用层生成的应用程序…

【秋冬进补】灵芝玉叶膏冬令上选减补两不误

秋冬季不仅是进补季,也是肥胖增涨的季节,气温降低了,运动、户外活动量减少了,消耗吸收率减慢,饮食中肉类比例上升,绿蔬少了,油热量增加了,肥胖几率也一样增加了。因此,选…

HTML5 + CSS3 + JavaScript 编程语言学习教程

HTML5 CSS3 JavaScript 编程语言学习教程 欢迎来到这篇关于 HTML5、CSS3 和 JavaScript 的详细学习教程!无论你是初学者还是有一定基础的开发者,这篇文章都将帮助你深入理解这三种技术的核心概念、语法和应用。 目录 HTML5 1.1 HTML5 简介1.2 HTML5 …

10月第4周AI资讯

阅读时间:3-4min 更新时间:2024.10.21-2024.10.25 目录 CoI-Agent:一键生成科研idea的AI研究助手 波兰电台正式启用 AI 主播 Claude可以像人类一样使用计算机 简单文本即可创建个性化语音 AI音乐制作工具新突破 CoI-Agent:…

[TypeError]: type ‘AbstractProvider‘ is not subscriptable

升级pdm到2.20.0后,执行pdm add --dev mypy时报错了: INFO: Adding group dev to lockfile Adding packages to dev dev-dependencies: pytest, pdm, ruff, click, mypy ⠋ 0:00:00 Resolving dependencies See /Users/mac10.12/Library/Logs/pdm/pdm-l…