首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python科学计算之Pandas

iloc仅仅作用于数字索引。它将会返回该行的一个series。在返回的series中,这一行的每一列都是一个独立的元素。...那么,如果loc是字符串标签的索引方法,iloc是数字标签的索引方法,那什么是ix呢?事实上,ix是一个字符串标签的索引方法,但是它同样支持数字标签索引作为它的备选。 ?...这个pivot创造了许多空的或值为NaN的条目。我个人觉得我的dataframe被乱七八糟的NaN分散了注意力,所以使用了fillna(‘’)将他们变成了空字符串。...当我们以年份这一列进行合并时,仅仅’jpn_rainfall’这一列和我们UK雨量数据集的对应列进行了合并。 ?...但是我希望通过我的介绍,你可以开始进行真正的数据清理与挖掘工作了。 像往常一样,我非常希望你能尽快开始尝试Pandas。找一两个你喜欢的数据集,开一瓶啤酒,坐下来,然后开始探索你的数据吧。

2.9K00

pandas 变量类型转换的 6 种方法

大家好,我是东哥。 本篇继续更新pandas系列,感兴趣可以关注这个话题,第一时间更新。...另外,空值类型作为一种特殊类型,需要单独处理,这个在pandas缺失值处理一文中已详细介绍。 数据处理的过程中,经常需要将这些类型进行互相转换,下面介绍一些变量类型转换的常用方法。...,s是一列数据,具有多种数据类型,现在想把它转换为数值类型。...比如,当我们遇到'[1,2,3]'这种情况的时候,我们实际想获取里面的列表,但是现在却是个字符串类型,我们可以使用eval函数将''这个外套直接去掉,去掉后自动转换成里面数据类型。...通过结果可以看到,变量都是是创建时默认的类型。但其实变量是有整数、字符串、布尔的,其中有的还存在空值。

4.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python进阶之Pandas入门(三) 最重要的数据流操作

    .head()默认输出DataFrame的前五行,但是我们也可以传递一个数字:例如,movies_df.head(10)将输出前十行。 要查看最后五行,请使用.tail()。....通常,当我们加载数据集时,我们喜欢查看前五行左右的内容,以了解隐藏在其中的内容。在这里,我们可以看到每一列的名称、索引和每行中的值示例。...您将注意到,DataFrame中的索引是Title列,您可以通过单词Title比其他列稍微低一些的方式看出这一点。...,比如行和列的数量、非空值的数量、每个列中的数据类型以及DataFrame使用了多少内存。...我们的movies DataFrame中有1000行和11列。 在清理和转换数据时,您将需要经常使用.shape。例如,您可能会根据一些条件过滤一些行,然后想要快速知道删除了多少行。

    2.7K20

    快速介绍Python数据分析库pandas的基础知识和代码示例

    查看/检查数据 head():显示DataFrame中的前n条记录。我经常把一个数据档案的最上面的记录打印在我的jupyter notebook上,这样当我忘记里面的内容时,我可以回头查阅。...info()函数用于按列获取标题、值的数量和数据类型等一般信息。一个类似但不太有用的函数是df.dtypes只给出列数据类型。...NaN(非数字的首字母缩写)是一个特殊的浮点值,所有使用标准IEEE浮点表示的系统都可以识别它 pandas将NaN看作是可互换的,用于指示缺失值或空值。...mean():返回平均值 median():返回每列的中位数 std():返回数值列的标准偏差。 corr():返回数据格式中的列之间的相关性。 count():返回每列中非空值的数量。...总结 我希望这张小抄能成为你的参考指南。当我发现更多有用的Pandas函数时,我将尝试不断地对其进行更新。

    8.1K20

    国外大神制作的超棒 Pandas 可视化教程

    DataFrame 是表格型的数据结构。因此,我们可以将其当做表格。DataFrame 是以表格类似展示,而且还包含行标签、列标签。另外,每列可以是不同的值类型(数值、字符串、布尔型等)。...表格中的下标是数字,比如我们想获取第 1、2 行数据,可以使用 df[1:3] 来拿到数据。 ? Pandas 的利器之一是索引和数据选择器。...import pandas as pd df.loc[1:3, ['Artist']] # loc(这里会包含两个边界的行号所在的值) ? 3.过滤数据 过滤数据是最有趣的操作。...4.处理空值 数据集来源渠道不同,可能会出现空值的情况。我们需要数据集进行预处理时。...处理空值,Pandas 库提供很多方式。最简单的办法就是删除空值的行。 ? 除此之外,还可以使用取其他数值的平均值,使用出现频率高的值进行填充缺失值。

    2.8K20

    国外大神制作的超棒 Pandas 可视化教程

    另外,每列可以是不同的值类型(数值、字符串、布尔型等)。 我们可以使用 read_csv() 来加载 CSV 文件。...表格中的下标是数字,比如我们想获取第 1、2 行数据,可以使用 df[1:3] 来拿到数据。 ? Pandas 的利器之一是索引和数据选择器。...import pandas as pd df.loc[1:3, ['Artist']] # loc(这里会包含两个边界的行号所在的值) ? 3. 过滤数据 过滤数据是最有趣的操作。...处理空值 数据集来源渠道不同,可能会出现空值的情况。我们需要数据集进行预处理时。 如果想看下数据集有哪些值是空值,可以使用 isnull() 函数来判断。...处理空值,Pandas 库提供很多方式。最简单的办法就是删除空值的行。 ? 除此之外,还可以使用取其他数值的平均值,使用出现频率高的值进行填充缺失值。

    2.9K20

    Pandas内存优化和数据加速读取

    内存优化 一个现象是,在使用pandas进行数据处理的时候,加载大的数据或占用很大的内存和时间,甚至有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存中的时候会占用非常高的内存...现在有小,中,大三种箱子,我们一个个数字用小箱子就可以装好,然后堆到仓库去,而现在pandas的处理逻辑是,如果你不告诉用哪个箱子,我都会用最大的箱子去装,这样仓库很快就满了。...OK,这就是有时候DataFrame内存占用过高的原因。 所以这里有个简单的思路是:我依次去遍历数据的所有列,检查每一列的数值范围包含在哪个最近的子类区间。...当我们将一列转换成 category dtype 时,pandas 就使用最节省空间的 int 子类型来表示该列中的所有不同值。...你真的只想做一次,而不是每次运行你的模型,进行测试或分析。你可以在此处执行的一项非常有用的操作是预处理,然后将数据存储在已处理的表单中,以便在需要时使用。

    2.7K20

    -看上去一样的数字

    数据清洗很枯燥,但是随着数据清理技巧越来越熟练,就有越有可能从他人无从下手的文档中获取更多的有用信息。...在 Python 中,2 是一个数字,“2”是一个字符。他们是不同的数据类型,但是,都可以进行数学计算。示例如下: ? 如果刚开始接触 Python 的人会有些疑惑,这是什么鬼,是不是例子处理意外。...Data2 行的数据看上去想数值,但是,就结果来看,也不像是数值。现在我们最迫切需要知道的每列数据的类型是什么,Pandas 已经提供了查看 DataFrame 各个列数据类型的属性。 ?...我们现在尝试将 Data2 行的数据转换成数值类型 ? 转换失败,to_numeric() 不能将字符串 “F”转换为数值类型,我们也没有在代码中控制,所以抛异常了。...从结果来看,好像这次除了 “F”是空值外,其他的数据都转换了对应的数值。我们再次执行翻十倍的运行算 ? 下面我们再次查看一下数据的类型。 ? 现在数据和我们设想的一样了。

    93131

    如何开始 Kaggle 比赛之旅

    显示数值特征之间的Pearson相关系数正值和负值的热图 数据中是否有缺失值? 你总是想要确保得到一个完整的数据集,包含尽可能少的缺失值。...另外一个方式(称为backfill)是用下一个非空的值来填充缺失值。特征中非空数据的均值,中值或模式有时也用于估算缺失值。...开始时确定正确的模型是很重要的,当你刚开始参加比赛时可能会非常困惑。假设说你现在处理的是结构化数据,你想要在进入构建模型之前先获取数据的内在信息。...评估 在不知道如何使用可靠的模型评估方法时,你没有办法在比赛中得到性能最好的模型。在参与比赛之前了解官方评估指标是至关重要的。...我喜欢用一个跑在Docker容器上的MongoDB实例,在每次执行我的评估脚本之后,将模型和参数和验证分数发给这个实例。

    58860

    20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

    Sample Sample方法允许我们从DataFrame中随机选择数据。当我们想从一个分布中选择一个随机样本时,这个函数很有用。...为了获得可重复的样品,我们可以指定random_state参数。如果将整数值传递给random_state,则每次运行代码时都将生成相同的采样数据。 5....Isin 在处理数据帧时,我们经常使用过滤或选择方法。Isin是一种先进的筛选方法。例如,我们可以根据选择列表筛选数据。...Infer_objects Pandas支持广泛的数据类型,其中之一就是object。object包含文本或混合(数字和非数字)值。但是,如果有其他选项可用,则不建议使用对象数据类型。...Merge Merge()根据共同列中的值组合dataframe。考虑以下两个数据: ? 我们可以基于列中的共同值合并它们。设置合并条件的参数是“on”参数。 ?

    5.7K30

    解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题

    问题描述在pandas的DataFrame格式数据中,每一列可以是不同的数据类型,如数值型、字符串型、日期型等。而ndarray格式数据需要每个元素都是相同类型的,通常为数值型。...当我们需要将DataFrame的某一列作为ndarray进行运算时,会出现格式不一致的错误。...我们尝试将列A转换为ndarray进行运算,但是会出现类型不匹配的错误。...但是由于DataFrame的列包含了字符串(产品名称)和数值(销售数量和单价),我们无法直接进行运算。...我们希望通过计算​​Quantity​​列和​​Unit Price​​列的乘积来得到每个产品的销售总额。但是由于列中包含了不同的数据类型(字符串和数值),导致无法进行运算。

    53320

    最全面的Pandas的教程!没有之一!

    下面这个例子里,将创建一个 Series 对象,并用字符串对数字列表进行索引: ? 注意:请记住, index 参数是可省略的,你可以选择不输入这个参数。...以及用一个字典来创建 DataFrame: ? 获取 DataFrame 中的列 要获取一列的数据,还是用中括号 [] 的方式,跟 Series 类似。...比如尝试获取上面这个表中的 name 列数据: ? 因为我们只获取一列,所以返回的就是一个 Series。可以用 type() 函数确认返回值的类型: ?...当你使用 .dropna() 方法时,就是告诉 Pandas 删除掉存在一个或多个空值的行(或者列)。删除列用的是 .dropna(axis=0) ,删除行用的是 .dropna(axis=1) 。...数值处理 查找不重复的值 不重复的值,在一个 DataFrame 里往往是独一无二,与众不同的。找到不重复的值,在数据分析中有助于避免样本偏差。

    26K64

    7步搞定数据清洗-Python数据清洗指南

    在这篇文章中,我尝试简单地归纳一下用Python来做数据清洗的7步过程,供大家参考。...日期调整前(为求简便这里用已经剔除分秒,剔除的办法后面在格式一致化的空格分割再详细说) #数据类型转换:字符串转换为日期 #errors='coerce' 如果原始数据不符合日期的格式,转换后的值为空值...是浮点类型 两个都用作空值 ?...axis=1表示逢空值去掉整列 # 'any'如果一行(或一列)里任何一个数据有任何出现Nan就去掉整行, ‘all’一行(或列)每一个数据都是Nan才去掉这整行 DataDF.dropna(how...在这个数据集中,我们大致判断CustomerID如果是不太重要的,就我们可以用使用""空字符串或其他默认值。

    4.5K20

    从零开始,教初学者如何征战全球最大机器学习竞赛社区Kaggle竞赛

    初次尝试 Kaggle 竞赛是很紧张刺激的,很多时候也伴随着沮丧(得到好成绩之后这种感觉似乎还加深了!),本文将着重介绍如何入门并开始你的第一场 Kaggle 竞赛,在这个过程中尽快成长。...大多数的数字和字符串都没有什么意义,其中 Alley 列甚至全都是『NaN』,即值的丢失。别担心,我们之后会处理这个问题。下一步是考虑需要使用的模型。...随机森林简单而高效,当我们用这种方法拟合一个数据集时,就会像上文所述的那样构建许多决策树,只不过每个决策树是在数据的随机子集中构建,且在每一次分割中只考虑独立变量「特征」的随机子集。...说明 在将训练集和测试集分别加载进 DataFrame 之后,我保存了目标变量,并在 DataFrame 中删除它(因为我只想保留 DataFrame 中的独立变量和特征)。...我们继续整合它们,填充缺失的数值,并通过独热编码(One-Hot Encoding)将分类特征转换为数字特征。

    860100

    Python数据分析笔记——Numpy、Pandas库

    其命名方式是一个类型名(float和int)后面跟一个用于表示各元素位长的数字。常用的是float64和int32. 也可以使用astype进行数组中数据类型的转化。...当我们没有为数据指定索引时,Series会自动创建一个0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组的值和对应的属性。...2、DataFrame (1)概念: DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...(3)获取DataFrame的值(行或列) 通过查找columns值获取对应的列。(下面两种方法) 通过索引字段ix查找相应的行。 (4)对列进行赋值处理。 对某一列可以赋一个标量值也可以是一组值。...也可以给某一列赋值一个列表或数组,其长度必须跟DataFrame长度相匹配。如果赋值的是一个Series,则对应的索引位置将被赋值,其他位置的值被赋予空值。

    6.4K80

    从零开始,教初学者如何征战Kaggle竞赛

    初次尝试 Kaggle 竞赛是很紧张刺激的,很多时候也伴随着沮丧(得到好成绩之后这种感觉似乎还加深了!),本文将着重介绍如何入门并开始你的第一场 Kaggle 竞赛,在这个过程中尽快成长。...大多数的数字和字符串都没有什么意义,其中 Alley 列甚至全都是『NaN』,即值的丢失。别担心,我们之后会处理这个问题。下一步是考虑需要使用的模型。...随机森林简单而高效,当我们用这种方法拟合一个数据集时,就会像上文所述的那样构建许多决策树,只不过每个决策树是在数据的随机子集中构建,且在每一次分割中只考虑独立变量「特征」的随机子集。...之后,我保存了目标变量,并在 DataFrame 中删除它(因为我只想保留 DataFrame 中的独立变量和特征)。...我们继续整合它们,填充缺失的数值,并通过独热编码(One-Hot Encoding)将分类特征转换为数字特征。

    88560

    python数据科学系列:pandas入门详细教程

    与此同时,series因为只有一列,所以数据类型自然也就只有一种,pandas为了兼容二者,series的数据类型属性既可以用dtype也可以用dtypes获取;而dataframe则只能用dtypes...[ ],这是一个非常便捷的访问方式,不过需区分series和dataframe两种数据结构理解: series:既可以用标签也可以用数字索引访问单个元素,还可以用相应的切片访问多个值,因为只有一维信息,...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。

    15K20

    小蛇学python(8)pandas库之DataFrame

    当我们不想使用默认的数字来当作索引时(比如上课老师点名,你觉得是点学号好,还是点姓名好呢?),我们可以通过转置来改变索引。...我们之前使用NumPy数组传入的,如果我们传入列在数据中找不到,表格就会自动生成NA值,表示这里为空。...3.png 我们可以看到,在是否有女朋友那一栏全部自动生成了NaN, 表示这一列数据为空。这里我们也可以得到启发,就是表格的index(索引)也是可以改变的,不一定就非要是数字。比如。...它俩的区别用一句话来概括就是,当用行号来索引时用iloc,当用行名,标签来索引的时候用iloc,而且是只能这么用。做一下对比你们就明白了。...5.png 可当我们把索引代码稍微改一下,程序就会报错。 frame = frame.iloc[2:3, '是否有女朋友'] ? 6.png 这是因为我的行索引为数字,而列索引是字符串导致的。

    1.1K20

    爬虫入门经典(二十四) | 爬取当当网图书信息并进行数据清洗

    但是咱们所收集的数据并不全都是直接能够使用的。它们由于各种原因,原始数据往往会存在许多问题,例如数据格式不正确,数据存在冗余等等。这些我们暂时可以理解为脏数据。...1、数据清洗的方法 1、缺失值处理:对存在缺失的数据进行插补 2、异常值处理:对数据集中存在的不合理值进行处理 3、数据转换:将数据从一种表现形式转换成另一种表现形式 2、数据清洗的工具 1、Mapreduce...4.4 转换星级 对于星级,首先要提取出数值,然后对数值进行计算,计算方法为用提取后的数值除以20,就得到最终的星级。...首先提取了价格、评论以及星级的数值;然后对于出版信息中的数据分别获取书籍的作者、出版社和出版日期;最后基于原始数据的书名,进一步提取书的简介和名称,相较于前几步来说,提取书简介和书名可能相对复杂一些,当然在实际数据清洗时可能有多种方法...而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。

    4.5K20
    领券