当前位置: 首页 > news >正文

网站seo站长工具a站

网站seo站长工具,a站,wordpress网站文章排版插件,深圳网站关键词优化公司哪家好层次化索引 导入样例 层次化索引#xff08;hierarchical indexing#xff09;是pandas的一项重要功能#xff0c;它使你能在一个轴上拥有多个#xff08;两个以上#xff09;索引级别。抽象点说#xff0c;它使你能以低维度形式处理高维度数据。我们先来看一个简单的例…层次化索引 导入样例 层次化索引hierarchical indexing是pandas的一项重要功能它使你能在一个轴上拥有多个两个以上索引级别。抽象点说它使你能以低维度形式处理高维度数据。我们先来看一个简单的例子创建一个Series并用一个由列表或数组组成的列表作为索引 In [9]: data pd.Series(np.random.randn(9),...: index[[a, a, a, b, b, c, c, d, d],...: [1, 2, 3, 1, 3, 1, 2, 2, 3]]) In [10]: data Out[10]: a 1 -0.2047082 0.4789433 -0.519439 b 1 -0.5557303 1.965781 c 1 1.3934062 0.092908 d 2 0.2817463 0.769023 dtype: float64 看到的结果是经过美化的带有MultiIndex索引的Series的格式。索引之间的“间隔”表示“直接使用上面的标签”。 MultiIndex对象 In [11]: data.index Out[11]: MultiIndex(levels[[a, b, c, d], [1, 2, 3]],labels[[0, 0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 2, 0, 2, 0, 1, 1, 2]]) 输出结果是一个MultiIndex对象它是由两个层级组成的多级索引。这个多级索引的结构如下 levels这是两个列表的列表表示索引的两个级别。第一个列表包含大写字母[a, b, c, d]这是索引的第一级第二个列表包含数字[1, 2, 3]这是索引的第二级。labels这是一个二维数组表示每个索引元素在levels中的位置。labels的第一行对应于levels的第一级第二行对应于levels的第二级。例如labels[[0, 0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 2, 0, 2, 0, 1, 1, 2]]表示 第一个元素的索引是(a, 1)第二个元素的索引是(a, 2)第三个元素的索引是(a, 3)以此类推... 这种多级索引在数据分析中非常有用便于对数据进行更复杂的分组和操作。 索引和切片操作 对于一个层次化索引的对象可以使用所谓的部分索引使用它选取数据子集的操作更简单 In [12]: data[b] Out[12]: 1 -0.555730 3 1.965781 dtype: float64 In [13]: data[b:c] Out[13]: b 1 -0.5557303 1.965781 c 1 1.3934062 0.092908 dtype: float64 In [14]: data.loc[[b, d]] Out[14]: b 1 -0.5557303 1.965781 d 2 0.2817463 0.769023 dtype: float64 data[b]这个操作是使用第一级索引即大写字母来选择所有与b相关的元素。输出结果显示了所有索引为b的Series元素。 data[b:c]这个操作是使用索引的切片功能选择了从b到c包含b和c的所有元素。输出结果展示了索引在b和c之间的所有Series元素。 data.loc[[b, d]]这个操作使用了.loc属性它允许通过提供一个索引列表来选择数据。这里选择了索引为b和d的所有元素。输出结果展示了这两个索引下的所有Series元素。 基于标签在内层进行索引 有时甚至还可以在“内层”中进行选取 In [15]: data.loc[:, 2] Out[15]: a 0.478943 c 0.092908 d 0.281746 dtype: float64 在您的代码片段 data.loc[:, 2] 中使用了 .loc 属性来进行基于标签的索引操作。这里的操作是选择所有第一级索引即大写字母 a, b, c, d下第二级索引为 2 的所有数据。下面是具体的解释 data是之前创建的Pandas Series对象具有多级索引。.loc是Pandas中用于基于标签的索引操作的属性。[:, 2]这个索引器指定了要选择的行和列。在这个例子中冒号 : 表示选择所有的第一级索引即所有的大写字母而数字 2 表示选择第二级索引中的2。由于您的数据集中第二级索引是数字1、2、3所以这里的2将匹配所有索引为2的元素。 输出结果 Out[15] 展示了所有第二级索引为2的元素即 a 下索引为2的元素值为 0.478943c 下索引为2的元素值为 0.092908d 下索引为2的元素值为 0.281746 注意尽管索引 b 存在但在数据集中并没有索引为 (b, 2) 的元素因此在输出结果中没有显示。这种索引方式非常适合于选择特定级别的索引数据无论是行还是列。 stack与unstack方法 层次化索引在数据重塑和基于分组的操作如透视表生成中扮演着重要的角色。例如可以通过unstack方法将这段数据重新安排到一个DataFrame中 In [16]: data.unstack() Out[16]: 1 2 3 a -0.204708 0.478943 -0.519439 b -0.555730 NaN 1.965781 c 1.393406 0.092908 NaN d NaN 0.281746 0.769023 unstack的逆运算是stack In [17]: data.unstack().stack() Out[17]: a 1 -0.2047082 0.4789433 -0.519439 b 1 -0.5557303 1.965781 c 1 1.3934062 0.092908 d 2 0.2817463 0.769023 dtype: float64 每条轴的分层索引 对于一个DataFrame每条轴都可以有分层索引 In [18]: frame pd.DataFrame(np.arange(12).reshape((4, 3)),....: index[[a, a, b, b], [1, 2, 1, 2]],....: columns[[Ohio, Ohio, Colorado],....: [Green, Red, Green]]) In [19]: frame Out[19]: Ohio ColoradoGreen Red Green a 1 0 1 22 3 4 5 b 1 6 7 82 9 10 11 各层都可以有名字可以是字符串也可以是别的Python对象。如果指定了名称它们就会显示在控制台输出中 In [20]: frame.index.names [key1, key2] In [21]: frame.columns.names [state, color] In [22]: frame Out[22]: state Ohio Colorado color Green Red Green key1 key2 a 1 0 1 22 3 4 5 b 1 6 7 82 9 10 11 有了部分列索引因此可以轻松选取列分组 In [23]: frame[Ohio] Out[23]: color Green Red key1 key2 a 1 0 12 3 4 b 1 6 72 9 10 单独创建MultiIndex然后复用 可以单独创建MultiIndex然后复用。上面那个DataFrame中的带有分级名称列可以这样创建 MultiIndex.from_arrays([[Ohio, Ohio, Colorado], [Green, Red, Green]],names[state, color]) 重排与分级排序 swaplevel 有时你需要重新调整某条轴上各级别的顺序或根据指定级别上的值对数据进行排序。swaplevel接受两个级别编号或名称并返回一个互换了级别的新对象但数据不会发生变化 In [24]: frame.swaplevel(key1, key2) Out[24]: state Ohio Colorado color Green Red Green key2 key1 1 a 0 1 2 2 a 3 4 5 1 b 6 7 8 2 b 9 10 11 sort_index 而sort_index则根据单个级别中的值对数据进行排序。交换级别时常常也会用到sort_index这样最终结果就是按照指定顺序进行字母排序了 In [25]: frame.sort_index(level1) Out[25]: state Ohio Colorado color Green Red Green key1 key2 a 1 0 1 2 b 1 6 7 8 a 2 3 4 5 b 2 9 10 11 In [26]: frame.swaplevel(0, 1).sort_index(level0) Out[26]: state Ohio Colorado color Green Red Green key2 key1 1 a 0 1 2b 6 7 8 2 a 3 4 5b 9 10 11 根据级别汇总统计 许多对DataFrame和Series的描述和汇总统计都有一个level选项它用于指定在某条轴上求和的级别。再以上面那个DataFrame为例我们可以根据行或列上的级别来进行求和 In [27]: frame.sum(levelkey2) Out[27]: state Ohio Colorado color Green Red Green key2 1 6 8 10 2 12 14 16 In [28]: frame.sum(levelcolor, axis1) Out[28]: color Green Red key1 key2 a 1 2 12 8 4 b 1 14 72 20 10 使用DataFrame的列进行索引 人们经常想要将DataFrame的一个或多个列当做行索引来用或者可能希望将行索引变成DataFrame的列。以下面这个DataFrame为例 In [29]: frame pd.DataFrame({a: range(7), b: range(7, 0, -1),....: c: [one, one, one, two, two,....: two, two],....: d: [0, 1, 2, 0, 1, 2, 3]}) In [30]: frame Out[30]: a b c d 0 0 7 one 0 1 1 6 one 1 2 2 5 one 2 3 3 4 two 0 4 4 3 two 1 5 5 2 two 2 6 6 1 two 3 DataFrame的set_index函数会将其一个或多个列转换为行索引并创建一个新的DataFrame In [31]: frame2 frame.set_index([c, d]) In [32]: frame2 Out[32]: a b c d one 0 0 71 1 62 2 5 two 0 3 41 4 32 5 23 6 1 默认情况下那些列会从DataFrame中移除但也可以将其保留下来 In [33]: frame.set_index([c, d], dropFalse) Out[33]: a b c d c d one 0 0 7 one 01 1 6 one 12 2 5 one 2 two 0 3 4 two 01 4 3 two 12 5 2 two 23 6 1 two 3 reset_index的功能跟set_index刚好相反层次化索引的级别会被转移到列里面 In [34]: frame2.reset_index() Out[34]: c d a b 0 one 0 0 7 1 one 1 1 6 2 one 2 2 5 3 two 0 3 4 4 two 1 4 3 5 two 2 5 2 6 two 3 6 1
http://www.hkea.cn/news/14322859/

相关文章:

  • 山东网站建设和游戏开发的公司网站建设公司怎么开
  • 运城网站开发公司市场推广怎么做
  • 莱芜网站建设服务工业设计优秀作品
  • 做的最成功的网站超碰网站正在建设中
  • wordpress xueqiu优化分析
  • 国内网站制作公司排名wordpress插件权限不足
  • 杭州做网站哪家最好以橙色为主的网站
  • edge网页视频怎么下载seo排名优化技巧
  • 企业网站建设管理平台网站如何做的有特色
  • 行业协会网站建设的目的成都网站建设培训
  • 营销型的网站域名做网站和做公众号
  • 做网站还需要兼容ie6吗网站程序定制
  • 怎么在网站做推广拼多多福利券小程序怎么赚钱
  • 滕州住房城乡建设局网站支付网站搭建
  • 江西建设网官方网站大数据营销平台
  • 如何申请一个免费的网站空间磁县网站建设
  • 交互网站怎么做网站备案工作
  • 做防护信息的网站网站可以做2个公司的吗
  • 网站建设的主要内容包括廊坊做网站公司哪家好
  • 大连华南网站建设微信网站公众平台
  • 优化 网站访问速度wordpress时光轴页面
  • dw做旅游网站教程dedecms做网站教程
  • 知名营销网站开发全国文明城市创建工作
  • 策划案网站构成怎么写网站建设培训班南宁
  • 大兴德艺网站建设做固定背景网站
  • 微网站怎么搭建微信公众号怎么做文章排版
  • 购物网站流量怎么做厦门网站建设设计
  • php红酒网站建设百度一下移动版首页
  • 包头北京网站建设网站维护的主要内容包括
  • 珠海网站建设网络公司怎么样hyperx wordpress 汉化