数据分析——pandas(二)

pandas

DataFrame

创建DataFrame

import pandas as pd
pd.DataFrame(a)

参数a可以是多种类型,数组列表等

import pandas as pd
import numpy as np
t=pd.DataFrame(np.array(range(30)).reshape((5,6)))

数据分析——pandas(二)

由上可以看出DataFrame对象既有行索引,又有列索引
行索引,表明不同行,叫index,0轴,axis=0
列索引,表明不同列,叫columns,1轴,axis=1

DataFrame的改变索引(轴)

因为DataFrame的构造方法支持轴参数,所以我们可以通过传入轴参数来改变DataFrame的索引

t=pd.DataFrame(np.array(range(30)).reshape((5,6)),index=list("abcde"),columns=list("!@#$%^"))

数据分析——pandas(二)

DataFrame与Series的关系

DataFrame中每列或每行单独取出,即二维中取一维,在pandas类型中就是Series类型。DataFrame是Series类型的容器。

DataFrame的基础属性

import pandas as pd
df=pd.DataFrame(a)
df.shape
df.dtype
df.ndim
df.index
df.columns
df.values

DataFrame整体情况查询

import pandas as pd
df=pd.DataFrame(a)
df.head(a)
df.tail(a)
df.info()
df.describe()

DataFrame中排序

df.sort_values()

import pandas as pd
import numpy as np
t=pd.DataFrame(np.array(range(24)).reshape((6,4)),index=list("abcdef"),columns=list("xyzp"))

数据分析——pandas(二)

DataFrame中的索引

import pandas as pd
t=[{"姓名":"小明","性别":"男","年龄":"18","成绩":"83"}
,{"姓名":"小红","性别":"女","年龄":"17","成绩":"52"}
,{"姓名":"小刚","性别":"男","年龄":"19","成绩":"43"}
,{"姓名":"小亮","性别":"男","年龄":"16","成绩":"61"}
,{"姓名":"小美","性别":"女","年龄":"18","成绩":"79"}]

df=pd.DataFrame(t)

数据分析——pandas(二)

取行或取列
·方括号写数组,表示取行索引,对行进行操作
·方括号写字符串,表示取列索引,对列进行操作
·具体索引与Series相似

数据分析——pandas(二)
精确索引
我们可以利用数字加字符串来进行更精确的索引
数据分析——pandas(二)
通过标签和位置进行值的精确索引
df.loc[]

df.iloc[]

数据分析——pandas(二)
注:语法 t.loc["A":"C",["W","Z"]]成立,表示索引A到C,且A、C均可取到
数据分析——pandas(二)
DataFrame同样支持布尔索引
注:
b

DataFrame更改数据

通过索引取值后通过赋值更改
无论存储什么类型数据的DataFrame,赋值语句 df.loc[a][b]=np.nan (df具体意义参考上文)均成立,DataFrame会自动转化数据类型

pandas的字符串方法

数据分析——pandas(二)

缺失数据的处理

在pandas中我们处理起来非常容易
对于NaN:
判断数据是否为NaN: pd.isnull(df)pd.notnull(df),pd,df同上
处理方式1:删除NaN所在的行列 dropna(axis=0,how='any',inplace=False)(参数axis决定删除行还是列,how默认为any,决定删除含多少NaN的行列,其他赋值还有”all”)
处理方式2:填充数据, t.fillna(t.mean())(填充均值), t.fillna(t.median())(填充中值), t.fillna(0)
单独某行列填充 t[行/列].fillna(t[行/列].mean())
注:要注意数据类型,字符串无法进行加减乘除

数据分析——pandas(二)
对于0:
当然不是每次为零的数据都要处理
t[t==0]=np.nan

Original: https://blog.csdn.net/LateNight_LL/article/details/119835507
Author: LateNight_LL
Title: 数据分析——pandas(二)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/755811/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 数值计算:前向和反向自动微分(Python实现)

    我们在《数值分析》课程中已经学过许多经典的数值微分方法。许多经典的数值微分算法非常快,因为它们只需要计算差商。然而,他们的主要缺点在于他们是数值的,这意味着有限的算术精度和不精确的…

    Python 2023年10月29日
    047
  • MLP公式推导及numpy实现

    文章目录 * – 1. 预备知识 – + 1.1 链导法则 + 1.2 Sigmoid激活函数 + 1.3 Softmax激活函数 + 1.4 交叉熵损失 …

    Python 2023年8月28日
    041
  • (附源码)springboot校园疫情管理系统 毕业设计 021506

    3 校园疫情管理系统总体设计 根据第二章中校园疫情管理系统的功能分析可知,校园疫情管理系统中整体功能模块图如图3.1所示, 图3.1 校园疫情管理系统功能模块图 .3.1 数据库概…

    Python 2023年8月2日
    044
  • python之测试类

    作者:从未止步… 博客主页:从未止步的博客专栏:和我一起学Python语录:Every day is a second chance行动是理想最高贵的表达,给大家介绍一…

    Python 2023年8月25日
    093
  • 设计模式(Python语言)—-模板方法模式

    推荐文章 很多小伙伴都发现了,用户自主「申请上首页」的按钮取消了,那博主们写的文章还有上首页曝光的机会吗?我们的回答是”当然有!!!”虽然我们取消了上首页申…

    Python 2023年5月24日
    0105
  • 电子商务企业如何利用数据标签

    准确的搜索结果和个性化推荐无疑是现代电子商务的基石。随着全球越来越多的企业迁移到网上,每家这样的公司的目标都很简单——帮助用户快速轻松地找到他们想要的东西,以便在电子平台上实现最大…

    Python 2023年10月24日
    039
  • Python 大作业 网易云歌单数据分析及可视化(参考多位博主文章)

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月3日
    063
  • python中pandas库的作用_python之pandas库详解

    pandas 是一个 Python Data Analysis Library.在使用前 import pandas as pd 一.创建对象(产生数据) pandas 中有三种基…

    Python 2023年8月16日
    067
  • Python之Pandas isnull检查是否有缺失值

    1.df.isnull() 元素级别的判断,把对应的所有元素的位置都列出来,元素为空或者NA就显示True,否则就是False train.isnull() 2,df.isnull…

    Python 2023年8月19日
    074
  • 旧酒换新瓶,新版M1/M2芯片Macos(Ventura)安装古早版本Python2.7(Python2.x)

    向下兼容特性是软件开发系统的一个重要指标,它是指一个新的系统或者软件能够与旧的系统或软件兼容并正常运行。这意味着旧系统或软件可以在新系统或软件中使用,而不会出现问题。向下兼容对于提…

    Python 2023年10月30日
    052
  • Clojure入门(1)

    clojure 是一门函数式语言。 目前主流编程语言多是”命令式”语言 (imperative language),如:java,c++ 命令式语言强调&#…

    Python 2023年6月6日
    079
  • Python ❀ 冒泡排序

    Python ❀ 冒泡排序 原创 无糖可乐没有灵魂2022-06-24 19:19:21博主文章分类:Python ©著作权 文章标签 xss 前端 web app 数组 冒泡排序…

    Python 2023年5月25日
    057
  • 基于anaconda制作自定义环境的基础镜像-以obspy地震库为例

    基于anaconda制作自定义环境的基础镜像-以obspy地震库为例 1.anaconda3下载安装: * 下载地址: 安装 设置环境变量 2.自定义环境安装——以obspy为例 …

    Python 2023年9月9日
    073
  • python小项目:实现C语言在线编译器

    大家好,我是牛牛。今天给大家分享一下利用python制作C语言在线编译器的小案例,主要包含以下几部分内容: 1、项目构建与准备 2、搭建python服务器 3、前端页面与逻辑实现 …

    Python 2023年8月9日
    051
  • 1. Python 的 print( )输出函数

    Python 的 print( )输出函数 文章目录 1. Python 的 print( )输出函数 * 1. 什么是print( )函数 2. print( )函数的语法 3….

    Python 2023年8月27日
    072
  • 爬虫—scrapy

    scrapy scrapy概念 scrapy的安装 * – + 1.scrapy项目的创建以及运行 2.项目组成: 3.创建爬虫文件: 4.运行爬虫文件: 5. res…

    Python 2023年10月2日
    038
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球