在Python编程中,TypeError是一种常见的错误类型。当我们尝试对不可哈希(unhashable)的对象进行哈希操作时,就会出现TypeError: unhashable type的错误。而其中一个常见的导致这个错误的原因是尝试对字典(dict)进行哈希操作。
安装并使用PandasPandas对象简介Pandas的Series对象Series是广义的Numpy数组Series是特殊的字典创建Series对象Pandas的DataFrame对象DataFrame是广义的Numpy数组DataFrame是特殊的字典创建DataFrame对象Pandas的Index对象将Index看作不可变数组将Index看作有序集合
在最基本的层面上,Pandas 对象可以认为是 NumPy 结构化数组的增强版本,其中行和列用标签而不是简单的整数索引来标识。我们将在本章的过程中看到,Pandas 在基本数据结构之上提供了许多有用的工具,方法和功能,但几乎所有后续内容都需要了解这些结构是什么。因此,在我们继续之前,让我们介绍这三个基本的 Pandas 数据结构:Series,DataFrame和Index。
在 XKCD 漫画《飞人五号》(xkcd.com/1133)中,网络漫画的艺术家兰道尔·门罗只用了 1000 个最常见的英语单词,就创作出了土星五号火箭的技术示意图。这部漫画把所有的技术术语分解成小孩子能理解的句子。但这也说明了为什么我们不能用简单的术语解释一切:对于外行观众来说,书中是这样解释的"如果系统出现故障,发生了火灾,致使他们无法去太空"。比我们说帮助人们快速逃生的“发射逃生系统”更容易理解。但是对于美国宇航局的工程师来说,这种说法还是太啰嗦了。即便如此,他们可能更愿意使用首字母缩写词 LES。
本系列参考自「Python Data Science Handbook」第三章,旨在对 Pandas 库的使用方法进行归纳与总结。
Pandas构建在Numpy的基础上,它同时支持行和列的操作。 使用pip进行安装:
作为程序员,你的电脑里、书架上,一定少不了 Python 的资料和课程。免费的电子书,花钱买的课,实体书籍...
答:一般来说,Python代码的运行速度比C语言的慢很多,但是如果充分运用内置函数、标准库对象和函数式编程模式的话,运行速度会提高很多,可以接近C语言。
1、变 量:变量是计算机内存中的一块儿区域,变量可以存储规定范围内的值,而且值可以改变。
本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”,重点却是Python编程、库,以及用于数据分析的工具。这就是数据分析要用到的Python编程。
pandas 提供了快速便捷处理结构化数据的大量数据结构和函数。自从2010年出现以来,它助使 Python 成为强大而高效的数据分析环境。pandas使用最多的数据结构对象是 DataFrame,它是一个面向列(column-oriented)的二维表结构,另一个是 Series,一个一维的标签化数组对象。
在Python编程中,我们有时会遇到一个常见的错误:TypeError: a bytes-like object is required, not 'str'。这个错误通常在处理文件、网络传输或加密解密等场景中出现。本文将带您深入了解这个错误的原因,并提供解决方案。
字典是在大括号里放置逗号分隔的 关键字:值对 ,{key ,value},是无序的,关键字相当于一个内存地址。dictionary是python唯一的映射关系, 关键字必须是可以hash的,可以哈希表示key必须是不可变的类型,如数字,string,tuple等,否则会出现typeerror,可以hash函数,判断一个对象是否可以映射。 >>> hash(123) 123 >>> hash('str') -311850177 >>> hash([1,2]) Traceback (most recent ca
将字符串、列表和元组视为序列,是因为组成它们的成员具有顺序。这是对 Python 内置对象归类的一种方式。在有的资料中,还提出了“基础对象类型”的类别,包括整数类型、浮点数类型、字符串类型和布尔类型。所以,根据对象的不同特点,可以有不同的聚类结果。本章中的“容器”,也是一种归类方式,一般认为包括列表、元组和字典、集合(含可变集合和不变集合),前两种对象已经在第4章学习过,这里将开始学习后两种。诚然,读者也可以创造其他的归类方式。
就易用性而言,对比传统的MapReduce API,Spark的RDD API有了数量级的飞跃并不为过。然而,对于没有MapReduce和函数式编程经验的新手来说,RDD API仍然存在着一定的门槛。
本章讨论Python的内置功能,这些功能本书会用到很多。虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的。 我们会从Python最基础的数据结构开始:元组、列表、字典和集合。然后会讨论创建你自己的、可重复使用的Python函数。最后,会学习Python的文件对象,以及如何与本地硬盘交互。 3.1 数据结构和序列 Python的数据结构简单而强大。通晓它们才能成为熟练的Python程序员。 元组 元组是一个固定长度,不可改变的Python序列对
元组是一个固定长度,不可改变的Python序列对象。创建元组的最简单方式,是用逗号分隔一列值:
前言:我们经常会听见很多的概念,哈希值,哈希表,可哈希对象,不可哈希对象,散列表,字典,映射,等等,那么这么多的概念后面到底又有什么区别和联系,它们的本质又是怎么样的,本此系列文章将针对这些概念进行说明,鉴于篇幅较多,本次系列文章将分为两篇来说明,此为第二篇,会涉及到以下概念,可变对象mutable与不可变对象inmutable,可哈希hashable与不可哈希unhashable,为什么字典dict的键Key一定要是可哈希的?
int(x, base =10) , x可能为字符串或数值,将x 转换为一个普通整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出了普通整数的表示范围,一个长整数被返回。
(1)不可哈希错误 演示代码: >>> x = {[1], [2]} Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> x = {[1], [2]} TypeError: unhashable type: 'list' >>> x = {[1]:1} Traceback (most recent call last): File "<pyshell#12>", line 1, in <mod
索引对象Index Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(df_obj2.index)) print(df_obj2.index) 运行结果: <class 'pandas.indexes.range.RangeIndex'> <class 'pandas.indexes.numeric.Int64Index'> Int64Index([0, 1, 2, 3], dtype='int64')
1. 字典字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、只含不可变类型元素的元组(1,2,3,’abc’)、实现__hash__()方法的自定义对象(因为__hash__()须返回一个整数,否则会出现异常:TypeError: an integer is required)。可以用hash(obj
Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。
python数据分析主要处理的是结构化数据(structured data)例如:
字节数组 字节是计算机的语言,字符串是人类语言,它们之间通过编码表形成一一对应的关系
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构 和 数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。
迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在。在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成迭代器的方法。有些方法是专门用于生成迭代器的,还有一些方法则是为了解决别的问题而“暗中”使用到迭代器。
Python小例子:https://github.com/jackzhenguo/python-small-examples
来源丨https://github.com/jackzhenguo/python-small-examples
用切边可以选取大多数序列类型的一部分,切片的基本形式是在方括号中使用start:stop:
知其然也要知其所以然,python中的容器对象真的不多,平常我们会很心安理得的根据需求来使用对应的容器,不定长数据用list,想去重用set,想快速进行匹配用dict,字符处理用str,可为何能实现这个效果呢?比如我们用list的时候,知道这玩意可以随意存储各种格式,存整型、浮点、字符串、甚至还可以嵌套list等其他容器,这底层的原理到底是用数组实现的,还是用链表?比如我们的字典,底层是用数组还是其他?如果是其他如哈希表,那又怎么实现输入数据的顺序排列?这次不妨一层层剖析,推演一番。贪多嚼不烂,本次就先对list进行分析
字典是python中的唯一的映射类型(哈希表) 字典对象是可变的,但是字典的键必须使用不可变对象,键值创建可以是字符串和元组,但是不能是列表,因为列表是可变的 ,一个字典中可以使用不同类型的键值,字典中的key是唯一的。
Python中内置了很多非常有用的对象,本文将会介绍Python中的内置函数,内置常量,内置类型和内置异常。
+是指把两个序列的元素拼接在一起。通常+号两侧的序列由相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被修改,Python会新建一个包含同样类型数据的序列作为拼接的结果。比如:
在 Python 编程中,当我们遇到以下错误消息时:TypeError: a bytes-like object is required, not 'str',意味着代码尝试将一个字符串传递给需要字节型对象的函数或方法。本文将详细解释这个错误的原因,并提供一些解决方法。
以下是总结的一些常见的Python基础面试题,帮助大家回顾基础知识,了解面试套路。会一直保持更新状态。 PS:加粗为需要注意的点。
int(x, base =10) x 可能为字符串或数值,将 x 转换为整数。 如果参数是字符串,那么它可能包含符号和小数点。如果超出普通整数的表示范 围,一个长整数被返回。
一个Dataframe就是一张表格,Series表示的是一维数组,Dataframe则是一个二维数组,可以类比成一张excel的spreadsheet。也可以把 Dataframe当做一组Series的集合。
输出: (1, 2, 3) ('jeffreyzhao', 'cnblogs') (1, 2, 3, 4) () (1,)
3.5版本中的68个内置函数分类(https://blog.csdn.net/oaa608868/article/details/53506188)
Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。对于 R 用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。
在使用pandas包进行Excel文件处理时,有时候会遇到TypeError: read_excel() got an unexpected keyword argument ‘parse_cols'或TypeError: read_excel() got an unexpected keyword argument ‘sheetname'的错误消息。这些错误消息通常是由于pandas版本更新导致的,某些参数已被弃用或更改。 为了解决这个问题,我们需要采取以下步骤:
昨天写一个小项目的时候,想用pandas把数据写入到Excel中去,结果发现我原先写的那套pandas教程是真的垃圾啊。 痛定思痛,我决定重写一份。
使用python进行数据分析时,经常会用Pandas类库处理数据,将数据转换成我们需要的格式。Pandas中的有两个数据结构和处理数据相关,分别是Series和DataFrame。
本章包括 18 个涉及对象、不变性和switch表达式的问题。本章从处理null引用的几个问题入手。它继续处理有关检查索引、equals()和hashCode()以及不变性(例如,编写不可变类和从不可变类传递/返回可变对象)的问题。本章的最后一部分讨论了克隆对象和 JDK12switch表达式。本章结束时,您将掌握对象和不变性的基本知识。此外,你将知道如何处理新的switch表达式。在任何 Java 开发人员的武库中,这些都是有价值的、非可选的知识。
领取专属 10元无门槛券
手把手带您无忧上云