python numpy pandas 书 全_用Python做数据分析,Numpy,Pandas,matp

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的《利用Python进行数据分析》,看了好几遍,不是从头到尾看了好几遍,是顺着看、挑着看、精读略读强行读,一直没坚持完整过一遍。

后来发现了广受好评的《10分钟搞定pandas》。这是官方出品的,于是我马上动手跟着做,才发现作者就是个标题党,花了一个多小时才过完一遍。我觉得书名应该是《(每天)10分钟(一周)搞定pandas》。标题党归标题党,内容还是很好的,就是我觉得还是有点偏长,尤其对于像我这样学习自制力极差的同学。

所以这篇文章,我总结了我认为的Pandas最常用的功能,供大家学习借鉴。

导入包

import pandas as pd

import numpy as np

导入数据

#默认utf-8,gbk对中文的支持更好

pd.read_csv(filename,encoding='gbk')

#key是列名,value是数据,从字典导入数据需要指定index

dict1 = {'a':1,'b':2}

df = pd.DataFrame(dict1,index=[0])

查看数据

#行数、列数

df.shape[0]

df.shape[1]

#前几行,后几行,默认为5

df.head()

df.tail(3)

#数据汇总统计

df.describe()

#数据概况

df.info()

#列名

df.columns

#数据类型

df.dtypes

#各列平均值

df.mean()

数据选取

#按列名查看某列

df[col_name]

df.col_name

#查列名看多列

df[[col1,col2]]

#按索引查看某行,第一行:

df.iloc[0]

#按索引查看某行某列,三行四列那个元素

df.iloc[2,3]

数据合并

#按行拼接

pieces = [df[2:20],df[23:30],df[35:40]]

下面这句replace知乎一直报未知错误(醉了,我在整篇文章中用二分法试出来两句),只能截图

#按列拼接

left = pd.DataFrame({'key': ['foo', 'bar'], 'col1': [1, 2]})

right = pd.DataFrame({'key': ['foo', 'bar'], 'col2': [4, 5]})

pd.merge(left,right,on='key')

#增加一列

df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])

extra = df.iloc[-1]

data = df.append(extra)

数据清理 (注意: 修改DataFrame要赋值)

#检查是否空值,返回布尔值(True,False)

df.isnull()

#返回各列空值的个数

df.isnull().sum()

#处理空值,用x替换空值

df = df.fillna(x)

#删除包含空值的行

df = df.dropna()

#删除包含空值的列

df = df.dropna(axis=1)

数据处理

#选择某列大于1的行

df[df[colname]>1]

#选择某列包含x或者y字段的行,pandas有很多字符串处理函数

df[df[colname].str.contains(x|y)]

下面这句replace知乎一直报未知错误(再次醉了),只能截图

#转换数据类型

df.num = df.num.astype(float)

#查看某列的唯一值的个数

df.colname.value_counts()

#按照某列排序(默认升序)

df.sort_values(by = colname,ascending=True)

#应用函数,简单的可以用lambda

df.apply(lambda x:x.max()-x.min())

#复杂的可以先定义好函数

def func():

pass

df.apply(func)

#也可以用numpy自带的,例如cumsum累加

df.apply(np.cumsum)

分组聚合

#准备数据

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',

'foo', 'bar', 'foo', 'foo'],

'B' : ['one', 'one', 'two', 'three',

'two', 'two', 'one',

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

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

相关文章

打开约束指令,让编码更规范

如果你使用perl5.12 或更高的版本,可以显示的指定当前Perl版本号来自动打开约束指令。 use 5.012; #自动启用use strict 指令 之前的版本通过添加下边这句话 use strict; 通过启用约束指令,编程时常见的错误很容易暴露出来。 而启用warnings指令的话&…

LeetCode 642. 设计搜索自动补全系统(Trie树)

文章目录1. 题目2. 解题1. 题目 为搜索引擎设计一个搜索自动补全系统。 用户会输入一条语句(最少包含一个字母,以特殊字符 ‘#’ 结尾)。 除 ‘#’ 以外用户输入的每个字符,返回历史中热度前三并以当前输入部分为前缀的句子。下面…

python 动漫卡通人物图片大全_用Python把人物头像动漫化,不同的表情给你不同的惊喜...

前言最近上网冲浪的时候看到了一个有趣的东西,叫做『人物动漫化』,作为老大的粉丝,怎么可能放过这个机会,让我们先看看效果图:这就是这次要用Python搞的事情啦,我们会利用百度AI的人物动漫化技术&#xff0…

linux 命令学习记录

文件操作 chown -R user file 修改文件所有者chmod -R 777 file 修改文件权限wrxmkdir -p dir1/dir2/dir3 创建目录rmdir -p dir1/dir2/dir3 删除目录(目录为空)cp source target 复制source到targetcp -s source target 创建target 软链接到source &…

“后见之明”是冰冷刻薄的讥讽;这是一种病,得治。

我最讨厌的一类人就是,“嗯,我早就说过吧”、“你看,我没说错吧”。这不是高明,而是无耻无德无道无义。你早知 道为什么不说?你早发现为什么不阻止?你早有能耐为什么到现在才和我扯淡?“后见之明…

LeetCode MySQL 1264. 页面推荐(union)

文章目录1. 题目2. 解题1. 题目 朋友关系列表: Friendship ------------------------ | Column Name | Type | ------------------------ | user1_id | int | | user2_id | int | ------------------------ 这张表的主键是 (user1_id, use…

java从1开始计时用线程_java – Python – 线程,计时或函数使用?

我正在制定一个关于如何解决这个问题的想法.请帮忙.我的项目包含一个N x N网格,其中包含一系列块,这些块应该在随机方向和随机速度内移动(每隔0.1秒,块的位置用速度更新).我有三个“特殊”块,预计会有各自的移动功能.我将有其他块(其中许多)除了更新它们的位置之外什么都不做,并…

LeetCode MySQL 1070. 产品销售分析 III(group by 陷阱)

文章目录1. 题目2. 解题1. 题目 销售表 Sales: -------------------- | Column Name | Type | -------------------- | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | -------------…

java中excel文件导入数据库中_〖JAVE经验〗java中Excel导入数据库里

1 从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见Excel…

怎样在方框里打钩?

打开Microsoft Office Word 2003文档,鼠标单击菜单栏“插入”下拉菜单中的“符号”,选择“符号”对话框中的“符号”标签,在“字体”中选择“Wingdings 2”,即可在众多符号中找到“方框里面打钩的符号”。转载于:https://www.cnbl…

LeetCode MySQL 1364. 顾客的可信联系人数量

文章目录1. 题目2. 解题1. 题目 顾客表:Customers ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | customer_name | varchar | | email | varchar | ------------------------ customer_…

JS控制锚点打开新窗口

在XHTML中不能含有TARGET,那么要使链接打开新窗口的话, 如果针对页面上所有锚点,JAVASCRIPT如下即可: function externalLinks() {if (!document.getElementsByTagName) return;var anchors document.getElementsByTagName("…

java showinputdialog_java - JOptionPane.showInputDialog中的多个输入

有没有一种方法可以在JOptionPane.showInputDialog中创建多个输入,而不是只创建一个输入?最佳答案:对。您知道可以将任何Object放入大多数Object的JOptionPane.showXXX methods参数中,并且经常会发现Object恰好是一个JPanel参数。…

LeetCode MySQL 602. 好友申请 II :谁有最多的好友(union all)

文章目录1. 题目2. 解题1. 题目 在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。 表 request_accepted 存储了所有好友申请通过的数据记录,其中, requester_id 和 accepter_id 都是用户的编号。…

用async 解放你的大脑

在js中,代码嵌套和代码回调非常常见,不仅编写麻烦而且异常反人类。让我等码农很是头痛 function () {function () {function () {function () {//pass}}} }这是一个常规的嵌套,如果每个function 的逻辑处理都比较多的话,会导致整个…

linux java 共享内存_Linux进程间通信之共享内存

一,共享内存内核管理一片物理内存,允许不同的进程同时映射,多个进程可以映射同一块内存,被多个进程同时映射的物理内存,即共享内存。映射物理内存叫挂接,用完以后解除映射叫脱接。1,共享内存的特…

LeetCode MySQL 1193. 每月交易 I(date_format)

文章目录1. 题目2. 解题1. 题目 Table: Transactions ------------------------ | Column Name | Type | ------------------------ | id | int | | country | varchar | | state | enum | | amount | int | | trans_date …

《大数据时代》摘录

本文内容摘自《大数据时代》,浙江人民出版社,2013年1月第1版。 引言 大数据并非一个确切的概念。最初,这个概念是指需要处理的信息量过大,已经超出了一般电脑在处理数据时所能使用的内存量,因此工程师们必须改进处理数…

java子类继承父类实际_java子类继承父类,是否生成父类对象?

从根本上来说,对象就是一个特殊结构的内存以及可以访问这块内存的代码。所以你这个问题其实就是一个到底如何看什么是对象的。我不了解现在jvm的具体实现,所以只能就理论上进行下分析。由于现代的编译器都可以对内存及其访问进行优化,所以&am…

LeetCode 1257. 最小公共区域(最小公共祖先)

文章目录1. 题目2. 解题1. 题目 给你一些区域列表 regions ,每个列表的第一个区域都包含这个列表内所有其他区域。 很自然地,如果区域 X 包含区域 Y ,那么区域 X 比区域 Y 大。 给定两个区域 region1 和 region2 ,找到同时包含…