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

Pandas

更改名称 pd的一个df一般会有两个位置有名称,一个是轴的名称(axis_name),一个是行或列的名称,两个名称可以创建df进行声明,也可以调用方法进行修改: df.rename_axis(str...Timestamp–时间点 多个 timestamp 对象储存在一个 series 或者 df 或者列表,这些对象是通过 datetimeindex 组织起来的。...常用属性 多数涉及时间相关的数据处理,统计分析的过程,需要提取时间中的年份,月份等数据。使用对应的 Timestamp 类属性就能够实现这一目的。...正常使用过程,agg 函数和 aggregate 函数对 DataFrame 对象操作功能几乎完全相同,因此只需要掌握其中一个函数即可。它们的参数说明如下表。...窗口函数 实际应用过程,我们可能会存在对整个 df 的局部数据进行统计分析的场景,这时就需要用到所谓的“窗口函数”,可以理解为整体数据集上创建窗口来进行运算,pd 中提供的几种窗口函数有: rolling

9.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

pandas系列6-重塑reshape

重新排列表格型数据的基础运算称之为重塑reshape或者轴向旋转pivot stack:将数据的列旋转成行,AB由列属性变成行索引 unstack:将数据的行旋转成列,AB由行索引变成列属性 重点知识...层次化索引 MultiIndex 数据分散不同的文件或者数据库 层次化索引⼀个轴上拥有多个(两个以上)索引级别 低维度形式处理高维度数据 import pandas as pd import numpy...pandas.core.series.Series res.unstack() # 行转成列:one、two、three 变成列属性 number one two three state...pivot 本质 DF的pivot本质上就是set_index先创建层次化索引,再利用unstack进行重塑。 Pandas透视表详解 ?...左边的表格类似于是Excel或者MySQL的存储形式,通过轴向转换变成右边的DataFrame型数据。

67710

解决AttributeError: DataFrame object has no attribute tolist

解决AttributeError: 'DataFrame' object has no attribute 'tolist'当我们处理数据分析或机器学习任务,经常会使用Pandas库进行数据的处理和操作...而在使用Pandas的DataFrame对象,有时可能会遇到​​AttributeError: 'DataFrame' object has no attribute 'tolist'​​的错误。...这个错误通常出现在我们尝试将DataFrame对象转换为列表(list。...因为DataFrame是Pandas的一个二维数据结构,它的数据类型和操作方法与列表不同,所以没有直接的​​.tolist()​​方法。 在下面的文章,我们将讨论如何解决这个错误。...当我们进行数据分析,有时候需要将Pandas的DataFrame对象转换为列表以进行后续处理。

82630

Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

创建 Pandas数据对象,如果没有明确地指出数据的类型,则可以根据传入的数据推断出来并且通过 dtypes属性进行查看。 ...merge()函数还支持对含有多个重叠列的 Data frame对象进行合并。  ​ 使用外连接的方式将 left与right进行合并,列相同的数据会重叠,没有数据的位置使用NaN进行填充。 ...数据重塑  3.1 重塑层次化索引  ​ Pandas重塑层次化索引的操作主要是 stack()方法和 unstack()方法,前者是将数据的列“旋转”为行,后者是将数据的行“旋转”为列。 ...3.2 轴向旋转  ​ Pandaspivot()方法提供了这样的功能,它会根据给定的行或列索引重新组织一个 DataFrame对象。 ...columns:用于创建新 DataFrame对象的列索引 values:用于填充新 DataFrame对象的值。  4.

5.2K00

数据导入与预处理-第6章-03数据规约

进行数据挖掘,数据压缩通常采用两种有损压缩方法,分别是小波转换和主成分分析,这两种方法都会把原有数据变换或投影到较小的空间。...3.2 重塑分层索引(6.3.2 ) 3.2.1 重塑分层索引介绍 重塑分层索引是pandas简单的维度规约操作,该操作主要会将DataFrame类对象的列索引转换为行索引,生成一个具有分层索引的结果对象...3.2.2 stack和unstack用法 pandas可以使用stack()方法实现重塑分层索引操作。...dropna:表示是否删除结果对象存在缺失值的一行数据,默认为True。 同时还有一个stack的逆操作,unstack。...更多操作可以参考官网 创建9个间隔1分钟的时间戳Series import numpy as np import pandas as pd # 创建9个间隔1分钟的时间戳Series。

1.4K20

Pandas 秘籍:6~11

本章,我们将构建一个空并使用面向对象的接口修改其一些基本属性。...通常,我们通常直接从属性或获取器方法收集对象。 通常,检索绘图对象,它们会在列表或字典之类的容器返回。 这就是步骤 9 收集刺发生的情况。...通常,大多数对象只能设置自己的属性,而不能设置其级的属性。 无法通过轴设置许多轴级属性,但是在此步骤,可以设置一些属性。 两种方法都可以接受。...请记住,当创建多个子,所有轴都存储 NumPy 数组。 步骤 5 的最终结果将在顶部轴重新创建。 我们底部的轴上绘制预算最高的 10 部电影。... Pandas 创建,将返回 matplotlib 轴或。 您可以使用 matplotlib 的全部函数来修改该对象,直到获得所需的结果。

33.9K10

【Python】已解决:AttributeError: ‘Engine’ object has no attribute ‘execution_options’

一、分析问题背景 使用Python进行数据处理,经常需要从数据库读取数据。pandas库的read_sql()方法提供了一种便捷的方式来执行SQL查询并将结果直接加载到DataFrame。...错误的Engine对象使用:可能是创建或使用sqlalchemy.engine.Engine对象出现了错误。 代码的其他潜在问题:比如错误的参数传递,或者对库函数的误解。...如果上述代码的库版本不兼容,或者engine对象没有正确初始化,就可能会抛出AttributeError。...检查Engine对象创建:确保create_engine()函数的连接字符串是正确的,并且数据库凭据有效。...这通常可以解决execution_options属性不存在的问题。 五、注意事项 库版本管理:开发过程,要特别注意库的版本管理,确保所使用的库之间是相互兼容的。

14410

详解pd.DataFrame的几种索引变换

导读 pandas中最常用的数据结构是DataFrame,而DataFrame相较于嵌套list或者二维numpy数组更好用的原因之一在于其提供了行索引和列名。...惯例开局一张 01 索引简介与样例数据 Series和DataFrame是pandas的主要数据结构类型(老版本中曾有三维数据结构Panel,是DataFrame的容器,后被取消),而二者相较于传统的数组或...list而言,最大的便利之处在于其提供了索引,DataFrame还有列标签名,这些都使得操作一行或一列数据中非常方便,包括在数据访问、数据处理转换等。...对其中的每一行或每一列进行变换;而applymap则仅可作用于DataFrame,且作用对象是对DataFrame的每个元素进行变换。...05 stack与unstack 这也是一对互逆的操作,其中stack原义表示堆叠,实现将所有列标签堆叠到行索引unstack即解堆,用于将复合行索引的一个维度索引平铺到列标签

2.3K20

数据规整(1)

---- 很多应用,数据可能分布多个文件或数据库,或者以一些不易分析的格式进行排列,因此本章介绍数据规整。...1 分层索引 分层索引pandas基础已经提及,它是pandas的重要特性,允许一个轴向上有多个索引层级,下面的例子就是一个分层索引: import pandas as pd import numpy...as np data = pd.Series(np.random.randn(9), index = [list('aaabbccdd'), list('123131223')]) -----结果-...例如unstack方法将数据DataFrame重新排列: data.unstack() data.unstack().stack() #stack是unstack的反操作 -----结果-----...: frame.swaplevel('key1', 'key2') #交换key1和key2 同样的,sort_index只能在单一层面上对数据进行排序,进行层级变换,使用sort_index以使得结果按照层级进行排序

46020

基于pandas数据预处理基础操作

# -*- coding: utf-8 -*- import numpy as np import pandas as pd #一、创建数据 #1.通过传递一个list对象创建一个Series,pandas...会默认创建整型索引 s = pd.Series([1,3,np.nan,5,8]) #2.通过传递一个numpy array,时间索引以及列标签来创建一个DataFrame dates = pd.date_range...) #3.通过传递一个能够被转换成类似序列结构的字典对象创建一个DataFrame df2 = pd.DataFrame({'A':1., 'B':pd.Timestamp...str属性配备了一组字符串处理方法,可以很容易的应用到数组的每个元素 s = pd.Series(['A','B','Aaba',np.nan,'cat']) s.str.lower() #六、合并...() stacked.unstack(1)#把第2个分类项消除了 stacked.unstack(0)#把第2个分类项消除了 #6.数据透视表 df = pd.DataFrame({'A':['one'

72121

从DataFrame删除列

操作数据的时候,DataFrame对象删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。...import pandas as pd import numpy as np df = pd.DataFrame(np.arange(25).reshape((5,5)), columns=list(...首先,del df['b']有效,是因为DataFrame对象实现了__delitem__方法,执行del df['b']时会调用该方法。但是del df.b呢,有没有调用此方法呢?...但是,当我们执行f.d = 4的操作,并没有StupidFrame中所创建的columns属性增加键为d的键值对,而是为实例f增加了一个普通属性,名称是d。...当然,并不是说DataFrame对象的类就是上面那样的,而是用上面的方式简要说明了一下原因。 所以,Pandas要删除DataFrame的列,最好是用对象的drop方法。

6.9K20

Pandas图鉴(四):MultiIndex

你也可以事后用append=True将现有的级别追加到MultiIndex,正如你在下图中看到的那样: 其实更典型的是Pandas,当有一些具有某种属性对象,特别是当它们随着时间的推移而演变...它们没有一个是完美的,但有些接近了。 Stacking and unstacking Pandas没有为列提供set_index。...Series有unstack,但没有stack,因为它已经被 stack 了。作为一维的,Series不同情况下可以作为行向量或列向量,但通常被认为是列向量(例如DataFrame的列)。...它最近被顺利地集成到Pandas工具链。它唯一缺乏的是基础设施。它很难构建;它很脆弱(某些操作中会退回到对象dtype),但它是完全可用的,而且pdi库有一些帮助工具来提高学习曲线。...Pandas没有直接的对应关系: pdi.insert_level(obj, pos, labels, name)用给定的值添加一个关卡(必要适当广播),--Pandas不容易做到; pdi.drop_level

46520

Pandas Cookbook》第11章 用Matplotlib、Pandas、Seaborn进行可视化

# 检查Axes的元素,每个基本的都有四个spine和两个axis # spine是数据边界,即四条边 # x和y轴对象包含了更多的绘图对象,比如刻度、标签 In[12]: ax_children...# 通过属性xaxis和yaxis可以修改属性,有些属性也可以通过Axes对象直接修改 In[14]: ax.xaxis.grid(True, which='major', linewidth=2,...# 将每行分开,已找到其总数的百分比 In[70]: row_total = group_total.sum(axis='columns') group_cum_pct = group_total.div...# pandas则要为gender创建两个独立的Axes,然后根据race画盒 In[83]: fig, ax_array = plt.subplots(1, 2, figsize=(14,4),...# 为每个种族创建,同时保留回归线 In[89]: grid = sns.lmplot(x='YEARS_EXPERIENCE', y='BASE_SALARY',

1.6K30

精品课 - Python 数据分析

对于数据结构,无非从“创建-存载-获取-操作”这条主干线去学习,当然面向具体的 NumPy 数组和 Pandas 数据帧,主干线上会加东西。...---- HOW 了解完数组本质之后,就可以把它当做对象(Python 万物皆对象嘛)把玩了: 怎么创建数组 (不会创建那还学什么) 怎么存载数组 (存为了下次载,载的是上回存) 怎么获取数组 (...比如在讲广播机制,下面的一胜千言。 ?..., iloc) 可互换 (stack, unstack) 可重设 (pivot, melt) ---- HOW 了解完数据帧本质之后,我们可从 Pandas 功能角度来学习它: 数据创建 (不会创建那还学什么...求解 PDE ,我只说五句话,配着下面的 (也是用 matpplotlib 写代码画的)。

3.3K40

业界使用最多的PythonDataframe的重塑变形

作者 | 计算广告生态 目录设定 pivot pivot_table stack/unstack ?...pivot pivot函数用于从给定的表创建出新的派生表 pivot有三个参数: 索引 列 值 def pivot_simple(index, columns, values): """...,其行和列索引是相应参数的唯一值 读取数据: from collections import OrderedDict from pandas import DataFrame import pandas...因此,必须确保我们指定的列和行没有重复的数据,才可以用pivot函数 pivot_table方法实现了类似pivot方法的功能 它可以指定的列和行有重复的情况下使用 我们可以使用均值、中值或其他的聚合函数来计算重复条目中的单个值...from pandas import DataFrame import pandas as pd import numpy as np # 建立多个行索引 row_idx_arr = list(zip

1.9K10

Pandas 高级教程——多级索引

Python Pandas 高级教程:多级索引 Pandas 的多级索引是一种强大的工具,用于处理具有多个维度或层次的数据。多级索引可以在行和列上创建层次结构,提供更灵活的数据表示和分析方式。...本篇博客,我们将深入介绍 Pandas 的多级索引,通过实例演示如何应用这一功能。 1. 安装 Pandas 确保你已经安装了 Pandas。...导入 Pandas使用 Pandas 之前,首先导入 Pandas 库: import pandas as pd 3....创建多级索引 3.1 DataFrame 创建多级索引 创建多级索引 DataFrame data = { 'Value': [10, 20, 30, 40, 50, 60], '...总结 多级索引是 Pandas 中用于处理层次化数据的强大工具,通过多级索引,你可以更灵活地组织和分析数据。实际应用,多级索引常用于处理时间序列、多维度数据等场景。

28910

pandas技巧6

本篇博文主要是对之前的几篇关于pandas使用技巧的小结,内容包含: 创建S型或者DF型数据,以及如何查看数据 选择特定的数据 缺失值处理 apply使用 合并和连接 分组groupby机制 重塑reshaping...透视表使用 ---- 创建数据 S型数据 import numpy as np import pandas as pd pd.Series([1, 3, 5, np.nan, 6, 89]) #...column分组,得到的是一个分组之后的对象 应用:对上面的对象使用某个函数,可以是自带的也可以是自己写的函数,通过apply(function) 合并:最终结果是个S型数据 如何找出每一种职业的平均年龄...可以省略 # 按照职业分组,再对年龄求均值 df['age'].groupby(df['occupation']).mean() 避免层次化索引 分组和聚合之后使用reset_index() 分组...,使用as_index=False 重塑reshaping stack:将数据的列旋转成行,AB由列属性变成行索引 unstack:将数据的行旋转成列,AB由行索引变成列属性 透视表 data:

2.6K10
领券