3 pandas之dataframe

定义

DataFrame是一个二维数据结构,即数据以行和列的方式以表格形式对齐。
DataFrame特点:

  • 存在不同类型的列
  • 大小可变
  • 带有标签的轴
  • 可对列和行进行算数运算

构造函数

pandas.DataFrame( data, index, columns, dtype, copy)

参数解释:

序号参数和描述
1数据(data) 数据可以是各种形式,如ndarray、series、map、lists、dict、constants和另一个DataFrame。
2索引(index) 用于行标签的索引,如果没有传递索引,则默认为np.arange(n)。
3列标签(columns) 用于列标签的可选默认语法是np.arange(n),仅当没有传递索引时才成立。
4数据类型(dtype) 每列的数据类型。
5复制(copy) 如果默认值为False,则用于复制数据的命令(或其他命令)。

创建DataFrame

创建空的DataFrame

#import the pandas library and aliasing as pd
import pandas as pd
df = pd.DataFrame()
print df

在这里插入图片描述

从list创建


data =[1,3,2,12]
df = pd.DataFrame(data)
print(df)

在这里插入图片描述

data = [['aa', 18], ['bb', 21], ['cc', 22.]]
df = pd.DataFrame(data,columns=['Name', 'Age'])
print(df)

在这里插入图片描述

从字典的 ndarrays/List创建

data = {'Name':['aa', 'bb', 'cc'], 'Age': [18, 21., 22]}
df = pd.DataFrame(data)
print(df)

在这里插入图片描述

data = {'Name':['aa', 'bb', 'cc'], 'Age': [18, 21., 22]}
df = pd.DataFrame(data, index=['rank1', 'rank2', 'rank3'])
print(df)

在这里插入图片描述

从字典列表创建

data = [{"aa":18,'bb':21.}, {'aa':11, 'bb':81, 'cc':71}]
df = pd.DataFrame(data)
print(df)

在这里插入图片描述

data = [{"aa":18,'bb':21.}, {'aa':11, 'bb':81, 'cc':71}]
df = pd.DataFrame(data, index=['first', 'second'])
print(df)

在这里插入图片描述

data = [{"aa":18,'bb':21.}, {'aa':11, 'bb':81, 'cc':71}]
# With 2 columns indices, values same as  dictionary keys
df = pd.DataFrame(data, index=['first', 'second'], columns=['aa', 'bb'])
print(df)

# With 2 columns indices, columns values with different dictionary keys
df1 = pd.DataFrame(data, index=['first', 'second'], columns=['aa', 'bb1'])
print(df1)

在这里插入图片描述

从Series dict创建

data = {
    'one':pd.Series([1,9,12,8],index=['a','b','c','e']),
    'two': pd.Series([8,12,1,2], index=['a','b','c','d'])
}
df = pd.DataFrame(data)
print(df)

在这里插入图片描述

获取对应位置的值

data = {
    'one':pd.Series([1,9,12,8],index=['a','b','c','e']),
    'two': pd.Series([8,12,1,2], index=['a','b','c','d'])
}
df = pd.DataFrame(data)
print(df['one'])

在这里插入图片描述

添加列

# Adding a new column to an existing DataFrame object with column label by passing new series
print("Adding new DataFrame column by Passing a Series:")
df['three'] = pd.Series([10,29,81], index=['a', 'b','c'])
print(df)

在这里插入图片描述

列相加

df['four']=df['one'] + df['three']
print(df)

在这里插入图片描述

删除列

del(df['four'])
print(df)

在这里插入图片描述

行的增删改查

查找

data = {
    'one':pd.Series([1,9,12,8],index=['a','b','c','e']),
    'two': pd.Series([8,12,1,2], index=['a','b','c','d'])
}
df = pd.DataFrame(data)
row = df.loc['b']
print(row)

在这里插入图片描述

# index location from 0
row = df.iloc[3]
print(row)

在这里插入图片描述

# include start, exclude end
n_df = df[1:3]
print(n_df)

在这里插入图片描述

添加行

df = pd.DataFrame([[1,8]], columns=['a','b'])
df1 = pd.DataFrame([[2,9]], columns=['a', 'b'])
df = df.append(df1)

print(df)

在这里插入图片描述

删除行

···
df = pd.DataFrame([[1,8]], columns=[‘a’,‘b’])
df1 = pd.DataFrame([[2,9]], columns=[‘a’, ‘b’])
df = df.append(df1)

df = df.drop(0)
print(df)
···
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot快速入门】(1)SpringBoot的开发步骤、工程构建方法以及工程的快速启动详细讲解

目录 SpringBoot简介1 SpringBoot快速入门1.1 开发步骤1.1.1 创建新模块1.1.2 创建 Controller1.1.3 启动服务器1.1.4 进行测试 2 对比3 官网构建工程3.1 进入SpringBoot官网3.2 选择依赖3.3 生成工程 4 SpringBoot工程快速启动4.1 问题导入4.2 打包4.3 启动 之前我们已经学习的…

浅谈Redis分布式锁(上)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 不论面试还是实际工作中…

Netty 与 RPC(一)

Netty 与 RPC Netty 原理 Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-List…

算法练习Day19 (Leetcode/Python-二叉树)

108. Convert Sorted Array to Binary Search Tree Given an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree. 思路: 一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的…

开启虚拟与现实的融合时代

数字人直播,作为一项新兴技术,正逐渐改变着我们的生活方式和沟通方式。它通过利用最先进的人工智能技术,使得虚拟形象得以与现实世界实时互动,为用户带来了全新的体验。本文将探讨数字人直播的意义、应用场景以及可能带来的影响。…

利用MultCloud在线复制传输不同网盘之间的数据:支持谷歌Drive、百度网盘等

本文介绍通过MultCloud平台,在国内实现谷歌Drive、OneDrive、百度网盘等不同云盘之间数据的传输、共享等操作的免费方法。 有的时候,我们希望对自己不同网盘之间的数据加以传输、共享;例如,我们可以将自己谷歌Drive中的数据&#…

Deep learning-based small object detection: A survey(2023)

文章目录 AbstractIntroductionContribution Generic SOD algorithms提高输入特征的分辨率(Most Important)Methods 尺度感知训练Methods 融合上下文信息Methods 数据增强Methods 其他策略Methods 关键的SOD任务小人脸检测Methods 小型行人检测Methods 航…

在线考试系统-软件与环境

一. 软件 1.Navicat、phpstudy、Idea、Vsode 参考 网盘链接 二.配置文件 1.NodeJS、JDK、Mysql 参考 网盘链接 注意点: 1.Mysql 切记需要环境变量配置 2.数据库密码要好记点的,别乱设 3.环境变量配置的路径要能找到 三.安装运行 1.下载网盘内的软件&am…

【ps】常见工具说明

1:污点修复工具 》内容识别 去除脸部珍珠 》创建纹理 2:修复画笔工具 按住ALT选择一处你想移动的地方 3:修补工具 》内容识别 选择一个区域 将区域内的东西移动到 另一处皮肤上

【Linux笔记】系统信息

🍎个人博客:个人主页 🏆个人专栏:Linux学习 ⛳️ 功不唐捐,玉汝于成 目录 前言 命令 1. uname - 显示系统信息 2. hostname - 显示或设置系统主机名 3. top - 显示系统资源使用情况 4. df - 显示磁盘空间使用情…

Socket.D 基于消息的响应式应用层网络协议

首先根据 Socket.D 官网 的副标题,Socket.D 的自我定义是: 基于事件和语义消息流的网络应用协议。官网定义的特点是: 基于事件,每个消息都可事件路由所谓语义,通过元信息进行语义描述流关联性,有相关的消…

【前端】前后端通信方法与差异(未完待续)

系列文章 【Vue】vue增加导航标签 本文链接:https://blog.csdn.net/youcheng_ge/article/details/134965353 【Vue】Element开发笔记 本文链接:https://blog.csdn.net/youcheng_ge/article/details/133947977 【Vue】vue,在Windows IIS平台…

Ubuntu 常用命令之 netstat 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 netstat 是一个非常有用的命令行工具,它可以帮助我们监控和诊断网络问题。在 Ubuntu 系统中,我们可以使用 netstat 命令来查看网络连接、路由表、接口统计等信息。 netstat 命令的参数有很多,以…

如何用CHAT做调研?

问CHAT:高校之间关于艺术教育专业调研情况 CHAT回复:对于高校之间的艺术教育专业调研,以下几个方面可能会涉及: 1. 课程设计和学分:可以调研不同高校艺术教育专业的课程设置,包括专业核心课程、相关选修课…

论文润色的注意事项有哪些 papergpt

大家好,今天来聊聊论文润色的注意事项有哪些,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:论文润色的注意事项――确保论文质量与表达的关键…

Leetcode 406 根据身高重建队列

题意理解: people [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]] 给定一个二维数组,(h,k)h表示此人身高,k表示前面有几个人比他高。 我们按照每个人的h,k两个维度的需求给每个人排在合适的位置。 如: [5,0][7,0]…

如何提升亚马逊、速卖通店铺自然排名?测评自养号的关键要素

一、自然排名的重要性 一条链接是否推广成功或者赚到钱,就看这条链接的自然排名有没有打上来! 无论是搜索流量的自然排名,还是关联流量的自然排名,或BSR排行榜,这些自然排名的入口就是我们要时刻盯紧的位置。 二、自然排名的位…

C语言之字符串

目录 字符串字面量 ​编辑 字符串字面量的长度 ◆具有静态生命周期 ◆对于同一个字符串字面量的处理方式依赖于编译器 字符串 字符数组的初始化赋值 空字符串 字符串的读取 在前面的学习中就会发现,仅仅能用一个字符表示的事物少之又少,对于地…

【LeetCode 热题 HOT 100】题解笔记 —— Day03

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

职场利器-软考高级、PMP、CKA/CKS/CKAD备考

1、【软考高级】信息系统项目管理师 全国计算机技术与软件专业技术资格(水平)考试网上报名平台http://bm.ruankao.org.cn/sign/welcome 模拟作答系统230747 第一次裸考 考试成绩查询 三科均未通过 软考考试多少分通过? ​​​​​​​ 软考高级,它的考试科目是《…