如果图片无法观看,请移步 https://blog.csdn.net/hihell

标题起的长,才能引起你的注意呢

昨天,有个家伙,留言给我说

嫌我不好好写博客

就知道给文章配表情包

在这里,郑重的回复一下

我愿意(╬◣д◢)

上篇博客,我们捣鼓了属性和简单的几个函数

这篇博客,我们继续围绕着dataframe转圈圈吧

首先从计算函数说起

咱先声明一个dataframe,方便后续操作

import pandas as pd

df_dict = {
"boys":[10,20,30],
"girls":[20,40,60]
} df = pd.DataFrame(df_dict)
print(df)

对于一个高手来说,从上帝视角对数据有一个基本的把握是最重要的

那么我们需要一个函数

describe

你只需要使用一下,就能得到很多的信息哦~

来,看一下结果

       boys  girls
count 3.0 3.0
mean 20.0 40.0
std 10.0 20.0
min 10.0 20.0
25% 15.0 30.0
50% 20.0 40.0
75% 25.0 50.0
max 30.0 60.0

这不要啥有啥么

只要你英文没啥大问题,认识count,mean,std,min,max

恭喜你,上面的数据

你都能看懂

这上帝视角

数据一览无余

接下来,你就可以分开显示了

pandas神奇的地方即将出现

当你学会一个函数

同步你会学会好几个

我拿count举个栗子啊

为什么,拿着个举例子

还不是因为它最简单!

先看代码,在讲解

import pandas as pd
df_dict = {
"boys":[10,20,30],
"girls":[20,40,60]
}
df = pd.DataFrame(df_dict)
print(df.count(axis=0))

输出的结果,请注意

boys     3
girls 3
dtype: int64

是个series没错了

那么,重点来了,我这个伪大佬要开课了

df.count()函数,统计cells个数,

额,还是大白话吧

就是统计行或者列的小格子个数

嗯,这么说,容易懂

它有个参数,非常,非常,非常重要

以后会经常碰到

这个参数,就是axis,翻译成中文,叫做轴

没错,就是坐标轴的那个轴

默认值呢是0

0等于index

1等于columns

难度来了,这个地方不好记(因为,我总是搞错 Σ(っ°Д°;)っ)

在尝试大白话解释一下df.count(axis=0)的意思

统计每一列单元格(小格子)数量

咦?不太对啊

刚刚不是还说0等于index么?

df.count(axis=0),不应该统计行么?咋还统计成列了呢?

解释最后一次了哦

axis=0 这个参数表示为每列生成计数



上面的红框,叫做每列

所以,列名有几个,统计出来的结果就有几个

这个很容易晕哦~

我觉得你应该晕了

哎~慢慢绕吧

同理axis=1就表示为每行生成计数

刚刚的数据有三行,那对应的肯定生成三行喽

小提示

axis='index' 等于  axis = 0
axis = 'columns' 等于 axis = 1

为什么要在这个地方叨叨这么多呢

还不是因为下面这个图



看完这个图,之后

我相信,你应该对axis这个函数瞬间感兴趣了

这完全搞不定,没法用的节奏啊

难不成,每次都跟我一样

先猜0,不对,在换成1

哈哈哈哈哈哈哈哈哈

(好像暴露了,我菜的本质了呢)

df.count()学习完毕之后,来个df.min(),df.max(),df.mean()吧

哈哈,这三个函数咱看一下,其实非常简单的

import pandas as pd
df_dict = {
"boys":[10,20,30],
"girls":[20,40,60]
}
df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
print(df.mean(axis=1))
  • df.min() 最小值
  • df.max() 最大值
  • df.mean() 平均值

上面是获取值

记住,有值就有索引

然后再展示一段代码

需求,我们要获取每列中最小值的索引

import pandas as pd

df_dict = {
"boys":[10,20,30],
"girls":[20,40,60]
} df = pd.DataFrame(df_dict,index=['class1','class2','class3'])
print(df.mean(axis=1))
print(df.idxmin())
  • df.idxmin() 按照列获取
  • df.idxmin(axis=1) 按照行获取

电脑面前的你,赶紧的吧,

你一试就知道结果了

还等什么?

其他的,像方差,求和,标准差,都去试试吧

你可以滴!

T来了

在学习series的时候,我们用了一个s.T

神奇的是啥效果也没有

今天用dataframe在来试一下

import pandas as pd

df_dict = {
"boys":[10,20,30],
"girls":[20,40,60]
} df = pd.DataFrame(df_dict,index=['class1','class2','class3']) print(df)
print("x"*50) print(df.T)

看到没?

出现效果了

行索引,变成列索引

列索引,变成行索引

厉害,厉害

其实这个就是转置

线性代数上线啦

下课!

话不多说,结束,开始展示公众号



还等什么,关注吧~

对不起,给pandas配表情包太难了,pandas你该这么学,No.6的更多相关文章

  1. 一个超级简单的node.js爬虫(内附表情包)

    之所以会想到要写爬虫,并不是出于什么高大上的理由,仅仅是为了下载个表情包而已-- 容我先推荐一下西乔出品的神秘的程序员表情包. 这套表情包着实是抵御产品.对付测试.嘲讽队友.恐吓前任的良品, 不过不知 ...

  2. Python自动生产表情包

    作为一个数据分析师,应该信奉一句话--"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态--表情包!!!! 表情包不仅仅是一种符号,更是一种文化--是促进社交 ...

  3. problem: 记一次聊天框的表情包弹框不显示的找问题过程

    左边是列表,包含了群和成员,右侧是聊天窗口.点击群列表,右侧显示群聊窗口,点击学员,右侧显示私聊窗口. 群聊窗口和私聊窗口是不同的组件,但是窗口中的子组件,例如窗口的头部.中间内容部分.输入框都是复用 ...

  4. 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/v0pffOhjFWnVbU2lXjuEmw 导语 G ...

  5. 用emoji表情包来可视化北京市历史天气状况!

    用emoji表情包来可视化北京市历史天气状况!   最近有了一个突如其来的想法,主要是看到了R社区有大神做了emoji表情包,并已经打通了ggplot的链接,所以想用ggplot结合emoji表情做一 ...

  6. 浏览器主页锁定之战——IE:我太难了

    精彩回顾: 我是一个explorer的线程 我是一个杀毒软件线程 我是一个IE浏览器线程 比特宇宙-TCP/IP的诞生 产品vs程序员:你知道www是怎么来的吗? Hello, World! 我是一个 ...

  7. 曹工说Spring Boot源码(26)-- 学习字节码也太难了,实在不能忍受了,写了个小小的字节码执行引擎

    曹工说Spring Boot源码(26)-- 学习字节码也太难了,实在不能忍受了,写了个小小的字节码执行引擎 写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean De ...

  8. 我用Python一键保存了半佛老师所有的骚气表情包

    本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及 ...

  9. 这些表情包你有吗?来 Battle 啊

    "能用表情包解决的问题,绝不多说一个字." "当不知道回复什么的时候,甩过去一个表情包就好了." 放眼望去,谁的 QQ/微信 收藏中没有几页代表性的表情包,那真 ...

随机推荐

  1. scanf ---------未完待续

    1.不可读入空格 #include<iostream> #include<stdio.h> using namespace std; int main() { char c[5 ...

  2. ACM学习历程—Rotate(HDU 2014 Anshan网赛)(几何)

    Problem Description Noting is more interesting than rotation! Your little sister likes to rotate thi ...

  3. SLF4j+LOG4j

    工作笔记:在myeclipse 中创建一个java project 创建一个 TestSlf4J 类 import org.slf4j.Logger; import org.slf4j.LoggerF ...

  4. Maven(6)-POM

    to be continued.

  5. 洛谷【P1358】扑克牌

    我对状态空间的理解:https://www.cnblogs.com/AKMer/p/9622590.html 题目传送门:https://www.luogu.org/problemnew/show/P ...

  6. MySQL on Azure高可用性设计 DRBD - Corosync - Pacemaker - CRM (二)

    在上一篇文章中描述了MySQL HA on Azured 设计思路,本篇文章中将描述具体的部署,每个组件的安装和配置. 整体的设计架构如下: 下面将是所有组件的安装配置过程,所有的虚拟机是CentOS ...

  7. 【转】 Pro Android学习笔记(七三):HTTP服务(7):AndroidHttpClient

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/ 不知道此文是否是这个系列中最短的一篇.我们 ...

  8. 模拟Spring中applicationContext.xml配置文件初始化bean的过程

    package com.xiaohao.action; import java.io.File; import java.lang.reflect.Method; import java.util.C ...

  9. linux使用JMETER进行分布式压力测试

    1. 下载jmeter tgz文件   http://jmeter.apache.org/download_jmeter.cgi 2. 登录linux服务器,创建jmeter目录,rz上传jmeter ...

  10. Asp.net mvc 网站之速度优化 -- 页面缓存

    网站速度优化的一般方法 由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言. 一般网站速度优化会涉及到几个方面: 1. 数据库优化 — 查询字段简历索引,使用数据库连接池和持久化,现在还有种 ...