python pandas菜鸟教程,下载pandas模块

  python pandas菜鸟教程,下载pandas模块

  最近在工作中有时会遇到数据转换的问题。这些知识之前比较零散,今天抽空整理了一下。

  数据来自github.com张继熊猫数据公司。

  一.等级索引

  层次索引可以作为增加维度的方法,也是行列转换的关键。Pandas的原始数据类型包括序列、数据帧。

  Series可以看作是一维数组索引。

  DataFrame可以看作是由多个序列组成的二维数组。

  然后,如果你使用实现比二维更高的数据,你可以使用层次索引。

  比如要用数列实现二维数据,可以加一层索引。

  在[13]中:数据={

  (‘加州’,2000): 33871648,

  (‘加州’,2010): 37253956,

  (‘德州’,2000): 20851820,

  (德州,2010): 25145561,

  (《纽约》,2000): 18976457,

  (《纽约》,2010): 19378102

  }

  警察。系列(数据)

  Out[13]:

  加州2000 33871648

  2010 37253956

  纽约2000 18976457

  2010 19378102

  德克萨斯州2000 20851820

  2010 25145561

  dtype: int64

  如果将元组作为键的字典传递给panda,那么默认情况下,panda也将被转换为MultiIndex,这是创建层次索引的方法之一。

  让我们来看看index的两个重要属性:级别和名称。

  以上面的层次索引为例:

  数据.索引.级别

  # output:冻结列表([[California , New York , Texas],[2000,2010]])

  可以看出,levels属性包含了每个级别指标的指标值,是一个二维列表。例如,[加利福尼亚,纽约,得克萨斯]是一级索引levels[0]。

  数据.索引.名称

  # frozen list([无,无])

  names属性包含每个索引级别的名称,该名称为None,因为它尚未命名。

  您可以通过rename方法来命名索引。

  data.index.rename(city ,level=0,inplace=True)

  data.index.rename(dt ,level=1,inplace=True)

  数据.索引.名称

  # output FrozenList([city , dt])

  二。行列转换(长宽互换)

  (1)堆叠和拆分

  加州2000 33871648

  2010 37253956

  纽约2000 18976457

  2010 19378102

  德克萨斯州2000 20851820

  2010 25145561

  以上述数据为例。

  new_df=pop.unstack()

  新_df

  un()方法可以将一系列多级索引快速转换为一个普通索引的数据帧,而unstack方法可以将列转换为索引。

  让我们来看一个实际的线间交换的例子。

  进口熊猫作为pd

  df=pd.read_csv(data/pew.csv )

  df.head(10)

  Df=df.set _ index (dependency) #首先将依赖关系设置为索引。

  Df=df.stack() #将列转换为二级索引

  df . index=df . index . rename( income ,level=1) #二级索引寿命

  df.name=频率

  Df=df.reset_index() #将索引转换为序列

  df.head(10)

  上述变换可以看作是宽表到长表,比较好记。当一组特征相同的列转化为一列时,自然会变窄。同时,如果需要与其他栏目组合进行一一对应,会变得更长。

  行列转移

  现在我们就把上面的数据反过来。

  Df=df.set _ index ([dependency , income]) [frequency] #设置层次索引

  Df=df.untack() #索引转换

  三。熔化和透视_表格

  这里有两张图片。原图来自Medium(一家高质量的英文网站)。

  Pivot_table透视表操作就是把长表改成宽表。

  熔化操作可以被视为将宽表更改为长表https://towardsdatascience.com/reshape-pandas-data框架和数据透视表towardsdatascience.com。

  历史提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: