In [1]:
%matplotlib inline
from bs4 import BeautifulSoup
import matplotlib.pylab as plt
import numpy as np
import pandas as pd
import requests
import re
import seaborn as sns
In [2]:
r = requests.get('https://www.asx300list.com/').content
print(r)
b'<!DOCTYPE html>\n<html lang="en-AU" prefix="og: http://ogp.me/ns#">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <link rel="profile" href="http://gmpg.org/xfn/11">\n <link rel="pingback" href="https://www.asx300list.com/xmlrpc.php">\n\n <title>ASX 300 List - Data for ASX Top 300 Companies</title>\n\n<!-- This site is optimized with the Yoast SEO plugin v4.0.2 - https://yoast.com/wordpress/plugins/seo/ -->\n<meta name="description" content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting."/>\n<meta name="robots" content="noodp"/>\n<link rel="canonical" href="https://www.asx300list.com/" />\n<meta property="og:locale" content="en_US" />\n<meta property="og:type" content="website" />\n<meta property="og:title" content="ASX 300 List - Data for ASX Top 300 Companies" />\n<meta property="og:description" content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting." />\n<meta property="og:url" content="https://www.asx300list.com/" />\n<meta property="og:site_name" content="ASX 300 List" />\n<meta property="og:image" content="https://www.asx300list.com/wp-content/uploads/market-index-icon.png" />\n<meta property="og:image" content="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=on&z=l&c=%5EAXKO&a=s&lang=en-AU&region=AU" />\n<meta property="og:image" content="https://www.asx300list.com/wp-content/uploads/sandp.png" />\n<meta name="twitter:card" content="summary" />\n<meta name="twitter:description" content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting." />\n<meta name="twitter:title" content="ASX 300 List - Data for ASX Top 300 Companies" />\n<meta name="twitter:image" content="https://www.asx300list.com/wp-content/uploads/market-index-icon.png" />\n<script type=\'application/ld+json\'>{"@context":"http:\\/\\/schema.org","@type":"WebSite","@id":"#website","url":"https:\\/\\/www.asx300list.com\\/","name":"ASX 300 List","potentialAction":{"@type":"SearchAction","target":"https:\\/\\/www.asx300list.com\\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script>\n<!-- / Yoast SEO plugin. -->\n\n<link rel=\'dns-prefetch\' href=\'//fonts.googleapis.com\' />\n<link rel=\'dns-prefetch\' href=\'//s.w.org\' />\n<link rel="alternate" type="application/rss+xml" title="ASX 300 List » Feed" href="https://www.asx300list.com/feed/" />\n<link rel="alternate" type="application/rss+xml" title="ASX 300 List » Comments Feed" href="https://www.asx300list.com/comments/feed/" />\n\t\t<script type="text/javascript">\n\t\t\twindow._wpemojiSettings = {"baseUrl":"https:\\/\\/s.w.org\\/images\\/core\\/emoji\\/2.2.1\\/72x72\\/","ext":".png","svgUrl":"https:\\/\\/s.w.org\\/images\\/core\\/emoji\\/2.2.1\\/svg\\/","svgExt":".svg","source":{"concatemoji":"https:\\/\\/www.asx300list.com\\/wp-includes\\/js\\/wp-emoji-release.min.js?ver=4.7.2"}};\n\t\t\t!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);\n\t\t</script>\n\t\t<style type="text/css">\nimg.wp-smiley,\nimg.emoji {\n\tdisplay: inline !important;\n\tborder: none !important;\n\tbox-shadow: none !important;\n\theight: 1em !important;\n\twidth: 1em !important;\n\tmargin: 0 .07em !important;\n\tvertical-align: -0.1em !important;\n\tbackground: none !important;\n\tpadding: 0 !important;\n}\n</style>\n<link rel=\'stylesheet\' id=\'responsive-lightbox-swipebox-css\' href=\'https://www.asx300list.com/wp-content/plugins/responsive-lightbox/assets/swipebox/css/swipebox.min.css?ver=1.6.10\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'wpz-shortcodes-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/shortcodes.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'zoom-font-awesome-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/font-awesome.min.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'foodica-google-fonts-css\' href=\'//fonts.googleapis.com/css?family=Merriweather%3Aregular%2Citalic%2C700%7CRoboto+Condensed%3Aregular%2Citalic%2C700%7CRoboto+Slab%3Aregular%2C700%26subset%3Dlatin%2C&ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'foodica-style-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/style.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'media-queries-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/css/media-queries.css?ver=1.2.1\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'foodica-google-font-default-css\' href=\'//fonts.googleapis.com/css?family=Cabin%3A400%2C500%7CAnnie+Use+Your+Telescope%7CRoboto+Condensed%3A400%2C700%7CRoboto+Slab%3A400%2C700%2C300%7CMerriweather%3A400%2C400italic%2C700%2C700italic&subset=latin%2Ccyrillic%2Cgreek&ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'dashicons-css\' href=\'https://www.asx300list.com/wp-includes/css/dashicons.min.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'wzslider-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/wzslider.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'wpzoom-theme-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/styles/default.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<link rel=\'stylesheet\' id=\'wpzoom-custom-css\' href=\'https://www.asx300list.com/wp-content/themes/foodica/custom.css?ver=4.7.2\' type=\'text/css\' media=\'all\' />\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-includes/js/jquery/jquery.js?ver=1.12.4\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/init.js?ver=4.7.2\'></script>\n<link rel=\'https://api.w.org/\' href=\'https://www.asx300list.com/wp-json/\' />\n<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.asx300list.com/xmlrpc.php?rsd" />\n<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.asx300list.com/wp-includes/wlwmanifest.xml" /> \n<meta name="generator" content="WordPress 4.7.2" />\n<link rel=\'shortlink\' href=\'https://www.asx300list.com/\' />\n<link rel="alternate" type="application/json+oembed" href="https://www.asx300list.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asx300list.com%2F" />\n<link rel="alternate" type="text/xml+oembed" href="https://www.asx300list.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asx300list.com%2F&format=xml" />\n<script type="text/javascript" async src="https://www.gstatic.com/charts/loader.js"></script>\r\n\r\n<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>\r\n\r\n<script type="text/javascript" async src="/wp-content/uploads/charts.js"></script>\r\n\r\n<link rel=\'stylesheet\' href=\'/wp-content/uploads/format.css\' type=\'text/css\' />\r\n\r\n<script>\r\n$(document).ready(function(){\r\n // Add smooth scrolling to all links\r\n $("a").on(\'click\', function(event) {\r\n\r\n // Make sure this.hash has a value before overriding default behavior\r\n if (this.hash !== "") {\r\n // Prevent default anchor click behavior\r\n event.preventDefault();\r\n\r\n // Store hash\r\n var hash = this.hash;\r\n\r\n // Using jQuery\'s animate() method to add smooth page scroll\r\n // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area\r\n $(\'html, body\').animate({\r\n scrollTop: $(hash).offset().top\r\n }, 800, function(){\r\n \r\n // Add hash (#) to URL when done scrolling (default click behavior)\r\n window.location.hash = hash;\r\n });\r\n } // End if\r\n });\r\n});\r\n</script>\r\n<script async src="/wp-content/uploads/sorttable.js"></script>\n<!-- Begin Theme Custom CSS -->\n<style type="text/css" id="foodica-custom-css">\n.navbar-brand .tagline{color:#999999;}.top-navbar{background:#eff4f7;}.main-navbar{background:#eff4f7;}.navbar-brand h1 a{font-weight:bold;}.navbar-brand h1,.navbar-brand h1 a{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}\n</style>\n<!-- End Theme Custom CSS -->\n</head>\n<body class="home page-template-default page page-id-16">\n\n<div class="page-wrap">\n\n <header class="site-header">\n\n <nav class="navbar" role="navigation">\n\n <nav class="top-navbar" role="navigation">\n\n <div class="inner-wrap">\n\n <div class="header_social">\n \n </div>\n\n\n <div class="navbar-header">\n \n <a class="navbar-toggle" href="#menu-top-slide">\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n\n\n \n </div>\n\n\n <div id="navbar-main">\n\n \n\n </div><!-- #navbar-main -->\n\n </div><!-- ./inner-wrap -->\n\n </nav><!-- .navbar -->\n\n <div class="clear"></div>\n\n </nav><!-- .navbar -->\n\n\n\n <div class="inner-wrap">\n\n\n <div class="navbar-brand">\n <h1>\n <a href="https://www.asx300list.com" title="Constituents, Sectors & Weighting">\n\n ASX 300 List\n </a>\n\n </h1>\n <p class="tagline">Constituents, Sectors & Weighting</p>\n \n </div><!-- .navbar-brand -->\n\n\n \n </div>\n\n\n\n <nav class="navbar" role="navigation">\n\n\n <nav class="main-navbar" role="navigation">\n\n <div class="inner-wrap">\n\n\n \n\n\n <div class="navbar-header">\n \n <a class="navbar-toggle" href="#menu-main-slide">\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n\n\n <div id="menu-main-slide" class="menu-main-nav-container"><ul id="menu-main-nav" class="menu"><li id="menu-item-9" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9"><a href="https://www.asx20list.com">ASX 20</a></li>\n<li id="menu-item-10" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="https://www.asx50list.com">ASX 50</a></li>\n<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="https://www.asx100list.com">ASX 100</a></li>\n<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="http://www.asx200list.com">ASX 200</a></li>\n<li id="menu-item-13" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-13"><a href="https://www.asx300list.com">ASX 300</a></li>\n<li id="menu-item-14" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="https://www.allordslist.com">All Ords</a></li>\n</ul></div>\n </div>\n\n\n <div id="navbar-main">\n\n <div class="menu-main-nav-container"><ul id="menu-main-nav-1" class="nav navbar-nav dropdown sf-menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9"><a href="https://www.asx20list.com">ASX 20</a></li>\n<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10"><a href="https://www.asx50list.com">ASX 50</a></li>\n<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11"><a href="https://www.asx100list.com">ASX 100</a></li>\n<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12"><a href="http://www.asx200list.com">ASX 200</a></li>\n<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-13"><a href="https://www.asx300list.com">ASX 300</a></li>\n<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="https://www.allordslist.com">All Ords</a></li>\n</ul></div>\n\n </div><!-- #navbar-main -->\n\n </div><!-- ./inner-wrap -->\n\n </nav><!-- .navbar -->\n\n\n <div class="clear"></div>\n\n\n </nav><!-- .navbar -->\n\n\n </header><!-- .site-header -->\n\n <div class="inner-wrap">\n <main id="main" class="site-main" role="main">\n\n \n <div class="content-area">\n\n \n<article id="post-16" class="post-16 page type-page status-publish hentry">\n\n <header class="entry-header">\n\n <h1 class="entry-title">ASX Top 300 Companies</h1>\n \n </header><!-- .entry-header -->\n\n\n <div class="entry-content">\n <p class="p1">The S&P/ASX 300 (XKO) Index provides exposure to Australia\xe2\x80\x99s large, mid and small-cap equities.</p>\n<p class="p1">The index consists of all S&P/ASX 200 companies plus 100 smaller-cap companies that have market capitalisations\xe2\x80\x99 above ~$100 million (AUD). The combined market capitalisation represents ~73% <sup>(April 2016)</sup> of Australia\xe2\x80\x99s sharemarket.</p>\n<p class="p1">Investors regularly use the ASX 300 as a benchmark for superannuation portfolios and managed funds due to its exposure to smaller companies.</p>\n<p class="p1">There\xe2\x80\x99s currently one Exchange Traded Funds (ETF) that tracks the performance of the S&P/ASX 300: Vanguard Australian Shares Index (VAS)</p>\n<div class="wpz-sc-box info "><strong>IMPORTANT</strong><br />\nASX300list.com doesn’t provide share price data.</p>\n<p><img class="important-img" src="/wp-content/uploads/market-index-icon.png" /><strong>The best website is <a href="http://www.marketindex.com.au">Market Index</a>.</strong><br />\nThey have current ASX share prices, company charts and announcements, dividend data, directors\xe2\x80\x99 transactions and broker consensus.<br />\n</div>\n<p> </p>\n<h2 class="p1"><b>How are ASX 300 companies selected?</b></h2>\n<p class="p1">Constituents are selected by a committee from Standard & Poor\xe2\x80\x99s (S&P) and the Australian Securities Exchange (ASX).</p>\n<p class="p1">All companies listed on the Australian Securities Exchange (ASX) are ranked by market capitalisation. Exchange traded fund (ETFs) and Listed Investment Companies (LICs) are ignored. The top 300 ASX stocks that meet minimum volume and investment benchmarks then become eligible for inclusion in the index.</p>\n<p class="p1">Rebalances are conducted biannually in March and September. If a significant event occurs (e.g. delisting, merger, etc.) an intra-quarter removal may be conducted. Unlike other indices,\xc2\xa0a replacement is not added to the index until the next rebalance date.</p>\n<div class="shortcode-unorderedlist star"></p>\n<ul>\n<li><strong>Skip to the ASX 300: \xc2\xa0</strong>\xc2\xa0<a href="#sector-breakdown">Sector Breakdown</a>\xc2\xa0| <a href="#fundamentals">PE & Yield</a>\xc2\xa0| <a href="#etf">ETF</a></li>\n</ul>\n<p></div>\n\n<p> </p>\n<hr />\n<h2 class="p1"></h2>\n<h2 class="p1"><span id="list" class="s1"><b>ASX 300 List (1 January 2017)</b></span></h2>\n<p>Excel (CSV): <a href="/wp-content/uploads/csv/20170101-asx300.csv">Download</a></p>\n<p>Columns are sortable.</p>\n<table class="tableizer-table sortable">\n<thead>\n<tr class="tableizer-firstrow">\n<th>Code</th>\n<th>Company</th>\n<th>Sector</th>\n<th>Market Cap</th>\n<th>Weight(%)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>A2M</td>\n<td>The A2 Milk Company Limited NZ</td>\n<td>Consumer Staples</td>\n<td>1,460,370,000</td>\n<td>0.09</td>\n</tr>\n<tr>\n<td>AAC</td>\n<td>Australian Agricultural Company Limited</td>\n<td>Consumer Staples</td>\n<td>947,014,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>AAD</td>\n<td>Ardent Leisure Group Stapled</td>\n<td>Consumer Discretionary</td>\n<td>1,097,680,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>ABC</td>\n<td>Adelaide Brighton Limited</td>\n<td>Materials</td>\n<td>3,527,620,000</td>\n<td>0.21</td>\n</tr>\n<tr>\n<td>ABP</td>\n<td>Abacus Property Group Stapled</td>\n<td>Real Estate</td>\n<td>1,728,420,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>ACX</td>\n<td>Aconex Limited</td>\n<td>Information Technology</td>\n<td>1,003,640,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>ADH</td>\n<td>Adairs Limited</td>\n<td>Consumer Discretionary</td>\n<td>265,400,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>AGI</td>\n<td>Ainsworth Game Technology Limited</td>\n<td>Consumer Discretionary</td>\n<td>698,591,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>AGL</td>\n<td>AGL Energy Limited</td>\n<td>Utilities</td>\n<td>14,851,400,000</td>\n<td>0.89</td>\n</tr>\n<tr>\n<td>AHG</td>\n<td>Automotive Holdings Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,309,910,000</td>\n<td>0.08</td>\n</tr>\n<tr>\n<td>AHY</td>\n<td>Asaleo Care Limited</td>\n<td>Consumer Staples</td>\n<td>821,324,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>AIA</td>\n<td>Auckland International Airport Limited NZX</td>\n<td>Industrials</td>\n<td>7,323,990,000</td>\n<td>0.44</td>\n</tr>\n<tr>\n<td>AJA</td>\n<td>Astro Japan Property Group Forus</td>\n<td>Real Estate</td>\n<td>403,339,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>AJX</td>\n<td>Alexium International Group Limited</td>\n<td>Materials</td>\n<td>184,243,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>ALL</td>\n<td>Aristocrat Leisure Limited</td>\n<td>Consumer Discretionary</td>\n<td>9,897,430,000</td>\n<td>0.59</td>\n</tr>\n<tr>\n<td>ALQ</td>\n<td>Als Limited</td>\n<td>Industrials</td>\n<td>3,045,500,000</td>\n<td>0.18</td>\n</tr>\n<tr>\n<td>ALU</td>\n<td>Altium Limited</td>\n<td>Information Technology</td>\n<td>1,053,450,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>AMA</td>\n<td>AMA Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>466,583,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>AMC</td>\n<td>Amcor Limited</td>\n<td>Materials</td>\n<td>17,314,200,000</td>\n<td>1.04</td>\n</tr>\n<tr>\n<td>AMP</td>\n<td>AMP Limited</td>\n<td>Financials</td>\n<td>14,907,000,000</td>\n<td>0.89</td>\n</tr>\n<tr>\n<td>ANN</td>\n<td>Ansell Limited</td>\n<td>Health Care</td>\n<td>3,643,430,000</td>\n<td>0.22</td>\n</tr>\n<tr>\n<td>ANZ</td>\n<td>Australia And New Zealand Banking Group Limited</td>\n<td>Financials</td>\n<td>89,314,200,000</td>\n<td>5.35</td>\n</tr>\n<tr>\n<td>AOG</td>\n<td>Aveo Group Stapled</td>\n<td>Real Estate</td>\n<td>1,947,480,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>APA</td>\n<td>APA Group Stapled</td>\n<td>Utilities</td>\n<td>9,549,610,000</td>\n<td>0.57</td>\n</tr>\n<tr>\n<td>API</td>\n<td>Australian Pharmaceutical Industries Limited</td>\n<td>Health Care</td>\n<td>1,008,990,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>APN</td>\n<td>APN News & Media Limited</td>\n<td>Consumer Discretionary</td>\n<td>873,284,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>APO</td>\n<td>Apn Outdoor Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>984,692,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>AQG</td>\n<td>Alacer Gold Corp Cdi 1:1</td>\n<td>Materials</td>\n<td>195,595,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>ARB</td>\n<td>ARB Corporation Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,397,600,000</td>\n<td>0.08</td>\n</tr>\n<tr>\n<td>ARF</td>\n<td>Arena Reit Stapled</td>\n<td>Real Estate</td>\n<td>436,886,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>ASB</td>\n<td>Austal Limited</td>\n<td>Industrials</td>\n<td>607,433,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>AST</td>\n<td>Ausnet Services Limited</td>\n<td>Utilities</td>\n<td>5,692,980,000</td>\n<td>0.34</td>\n</tr>\n<tr>\n<td>ASX</td>\n<td>ASX Limited</td>\n<td>Financials</td>\n<td>9,629,420,000</td>\n<td>0.58</td>\n</tr>\n<tr>\n<td>AVN</td>\n<td>Aventus Retail Property Fund Unit</td>\n<td>Real Estate</td>\n<td>930,532,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>AWC</td>\n<td>Alumina Limited</td>\n<td>Materials</td>\n<td>5,270,110,000</td>\n<td>0.32</td>\n</tr>\n<tr>\n<td>AWE</td>\n<td>AWE Limited</td>\n<td>Energy</td>\n<td>327,457,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>AYS</td>\n<td>Amaysim Australia Limited</td>\n<td>Telecommunication Services</td>\n<td>365,136,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>AZJ</td>\n<td>Aurizon Holdings Limited</td>\n<td>Industrials</td>\n<td>10,361,300,000</td>\n<td>0.62</td>\n</tr>\n<tr>\n<td>BAL</td>\n<td>Bellamy’s Australia Limited</td>\n<td>Consumer Staples</td>\n<td>645,866,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>BAP</td>\n<td>Bapcor Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,644,680,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>BBN</td>\n<td>Baby Bunting Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>305,501,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>BDR</td>\n<td>Beadell Resources Limited</td>\n<td>Materials</td>\n<td>285,543,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>BEN</td>\n<td>Bendigo And Adelaide Bank Limited</td>\n<td>Financials</td>\n<td>6,007,070,000</td>\n<td>0.36</td>\n</tr>\n<tr>\n<td>BGA</td>\n<td>Bega Cheese Limited</td>\n<td>Consumer Staples</td>\n<td>647,036,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>BHP</td>\n<td>BHP Billiton Limited</td>\n<td>Materials</td>\n<td>80,485,000,000</td>\n<td>4.82</td>\n</tr>\n<tr>\n<td>BKL</td>\n<td>Blackmores Limited</td>\n<td>Consumer Staples</td>\n<td>1,780,460,000</td>\n<td>0.11</td>\n</tr>\n<tr>\n<td>BKW</td>\n<td>Brickworks Limited</td>\n<td>Materials</td>\n<td>2,026,350,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>BLA</td>\n<td>Blue SKY Alternative Investments Limited</td>\n<td>Financials</td>\n<td>471,915,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>BLD</td>\n<td>Boral Limited</td>\n<td>Materials</td>\n<td>6,342,320,000</td>\n<td>0.38</td>\n</tr>\n<tr>\n<td>BOQ</td>\n<td>Bank of Queensland Limited</td>\n<td>Financials</td>\n<td>4,597,540,000</td>\n<td>0.28</td>\n</tr>\n<tr>\n<td>BPT</td>\n<td>Beach Energy Limited</td>\n<td>Energy</td>\n<td>1,585,330,000</td>\n<td>0.09</td>\n</tr>\n<tr>\n<td>BRG</td>\n<td>Breville Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,126,630,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>BSL</td>\n<td>Bluescope Steel Limited</td>\n<td>Materials</td>\n<td>5,325,730,000</td>\n<td>0.32</td>\n</tr>\n<tr>\n<td>BTT</td>\n<td>BT Investment Management Limited</td>\n<td>Financials</td>\n<td>3,303,480,000</td>\n<td>0.2</td>\n</tr>\n<tr>\n<td>BWP</td>\n<td>BWP Trust Ord Units</td>\n<td>Real Estate</td>\n<td>1,920,730,000</td>\n<td>0.11</td>\n</tr>\n<tr>\n<td>BWX</td>\n<td>BWX Limited</td>\n<td>Consumer Staples</td>\n<td>373,799,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>BXB</td>\n<td>Brambles Limited</td>\n<td>Industrials</td>\n<td>19,696,700,000</td>\n<td>1.18</td>\n</tr>\n<tr>\n<td>CAB</td>\n<td>Cabcharge Australia Limited</td>\n<td>Industrials</td>\n<td>467,271,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>CAR</td>\n<td>Carsales.com Limited</td>\n<td>Information Technology</td>\n<td>2,740,040,000</td>\n<td>0.16</td>\n</tr>\n<tr>\n<td>CBA</td>\n<td>Commonwealth Bank of Australia</td>\n<td>Financials</td>\n<td>142,007,000,000</td>\n<td>8.5</td>\n</tr>\n<tr>\n<td>CCL</td>\n<td>Coca-cola Amatil Limited</td>\n<td>Consumer Staples</td>\n<td>7,727,530,000</td>\n<td>0.46</td>\n</tr>\n<tr>\n<td>CCP</td>\n<td>Credit Corp Group Limited</td>\n<td>Financials</td>\n<td>849,522,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>CCV</td>\n<td>Cash Converters International</td>\n<td>Consumer Discretionary</td>\n<td>165,171,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>CDD</td>\n<td>Cardno Limited</td>\n<td>Industrials</td>\n<td>453,212,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>CGC</td>\n<td>Costa Group Holdings Limited</td>\n<td>Consumer Staples</td>\n<td>1,097,640,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>CGF</td>\n<td>Challenger Limited</td>\n<td>Financials</td>\n<td>6,425,600,000</td>\n<td>0.38</td>\n</tr>\n<tr>\n<td>CHC</td>\n<td>Charter Hall Group Forus</td>\n<td>Real Estate</td>\n<td>1,956,280,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>CIM</td>\n<td>Cimic Group Limited</td>\n<td>Industrials</td>\n<td>11,329,400,000</td>\n<td>0.68</td>\n</tr>\n<tr>\n<td>CKF</td>\n<td>Collins Foods Limited</td>\n<td>Consumer Discretionary</td>\n<td>629,886,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>CL1</td>\n<td>Class Limited</td>\n<td>Information Technology</td>\n<td>334,165,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>CMW</td>\n<td>Cromwell Property Group Stapled</td>\n<td>Real Estate</td>\n<td>1,732,510,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>CNU</td>\n<td>Chorus Limited NZX</td>\n<td>Telecommunication Services</td>\n<td>1,558,770,000</td>\n<td>0.09</td>\n</tr>\n<tr>\n<td>COH</td>\n<td>Cochlear Limited</td>\n<td>Health Care</td>\n<td>7,037,640,000</td>\n<td>0.42</td>\n</tr>\n<tr>\n<td>CPU</td>\n<td>Computershare Limited</td>\n<td>Information Technology</td>\n<td>6,807,220,000</td>\n<td>0.41</td>\n</tr>\n<tr>\n<td>CQR</td>\n<td>Charter Hall Retail Reit Unit</td>\n<td>Real Estate</td>\n<td>1,718,180,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>CSL</td>\n<td>CSL Limited</td>\n<td>Health Care</td>\n<td>45,783,800,000</td>\n<td>2.74</td>\n</tr>\n<tr>\n<td>CSR</td>\n<td>CSR Limited</td>\n<td>Materials</td>\n<td>2,330,700,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>CSV</td>\n<td>CSG Limited</td>\n<td>Information Technology</td>\n<td>233,404,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>CTD</td>\n<td>Corporate Travel Management Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,823,200,000</td>\n<td>0.11</td>\n</tr>\n<tr>\n<td>CTX</td>\n<td>Caltex Australia Limited</td>\n<td>Energy</td>\n<td>7,944,290,000</td>\n<td>0.48</td>\n</tr>\n<tr>\n<td>CVO</td>\n<td>Cover-more Group Limited</td>\n<td>Financials</td>\n<td>731,311,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>CWN</td>\n<td>Crown Resorts Limited</td>\n<td>Consumer Discretionary</td>\n<td>8,434,800,000</td>\n<td>0.51</td>\n</tr>\n<tr>\n<td>CWP</td>\n<td>Cedar Woods Properties Limited</td>\n<td>Real Estate</td>\n<td>398,403,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>CWY</td>\n<td>Cleanaway Waste Management Limited</td>\n<td>Industrials</td>\n<td>1,956,840,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>CYB</td>\n<td>CYBG PLC Cdi 1:1</td>\n<td>Financials</td>\n<td>3,596,910,000</td>\n<td>0.22</td>\n</tr>\n<tr>\n<td>DCN</td>\n<td>Dacian Gold Limited</td>\n<td>Materials</td>\n<td>301,351,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>DLX</td>\n<td>Duluxgroup Limited</td>\n<td>Materials</td>\n<td>2,428,920,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>DMP</td>\n<td>Domino’s Pizza Enterprises Limited</td>\n<td>Consumer Discretionary</td>\n<td>5,773,160,000</td>\n<td>0.35</td>\n</tr>\n<tr>\n<td>DNA</td>\n<td>Donaco International Limited</td>\n<td>Consumer Discretionary</td>\n<td>303,392,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>DOW</td>\n<td>Downer Edi Limited</td>\n<td>Industrials</td>\n<td>2,586,940,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>DRM</td>\n<td>Doray Minerals Limited</td>\n<td>Materials</td>\n<td>153,476,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>DUE</td>\n<td>Duet Group Forus</td>\n<td>Utilities</td>\n<td>6,666,540,000</td>\n<td>0.4</td>\n</tr>\n<tr>\n<td>DXS</td>\n<td>Dexus Property Group Stapled</td>\n<td>Real Estate</td>\n<td>9,311,660,000</td>\n<td>0.56</td>\n</tr>\n<tr>\n<td>ECX</td>\n<td>Eclipx Group Limited</td>\n<td>Financials</td>\n<td>991,813,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>EHE</td>\n<td>Estia Health Limited</td>\n<td>Health Care</td>\n<td>594,709,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>ELD</td>\n<td>Elders Limited</td>\n<td>Consumer Staples</td>\n<td>452,022,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>EML</td>\n<td>EML Payments Limited</td>\n<td>Financials</td>\n<td>448,920,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>EPW</td>\n<td>Erm Power Limited</td>\n<td>Utilities</td>\n<td>323,986,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>EQT</td>\n<td>EQT Holdings Limited</td>\n<td>Financials</td>\n<td>350,966,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>EVN</td>\n<td>Evolution Mining Limited</td>\n<td>Materials</td>\n<td>3,561,030,000</td>\n<td>0.21</td>\n</tr>\n<tr>\n<td>EWC</td>\n<td>Energy World Corporation LTD</td>\n<td>Utilities</td>\n<td>450,883,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>FAR</td>\n<td>FAR Limited</td>\n<td>Energy</td>\n<td>334,615,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>FBU</td>\n<td>Fletcher Building Limited NZX</td>\n<td>Materials</td>\n<td>7,168,870,000</td>\n<td>0.43</td>\n</tr>\n<tr>\n<td>FET</td>\n<td>Folkestone Education Trust Unit</td>\n<td>Real Estate</td>\n<td>633,272,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>FLT</td>\n<td>Flight Centre Travel Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>3,160,500,000</td>\n<td>0.19</td>\n</tr>\n<tr>\n<td>FMG</td>\n<td>Fortescue Metals Group LTD</td>\n<td>Materials</td>\n<td>18,340,300,000</td>\n<td>1.1</td>\n</tr>\n<tr>\n<td>FNP</td>\n<td>Freedom Foods Group Limited</td>\n<td>Consumer Staples</td>\n<td>865,644,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>FPH</td>\n<td>Fisher & Paykel Healthcare Corporation Limited NZX</td>\n<td>Health Care</td>\n<td>4,647,370,000</td>\n<td>0.28</td>\n</tr>\n<tr>\n<td>FSF</td>\n<td>Fonterra Shareholders’ Fund Unit NZX</td>\n<td>Consumer Staples</td>\n<td>697,194,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>FXJ</td>\n<td>Fairfax Media Limited</td>\n<td>Consumer Discretionary</td>\n<td>2,046,530,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>FXL</td>\n<td>Flexigroup Limited</td>\n<td>Financials</td>\n<td>841,515,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>GBT</td>\n<td>GBST Holdings Limited</td>\n<td>Information Technology</td>\n<td>255,150,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>GDI</td>\n<td>GDI Property Group Stapled</td>\n<td>Real Estate</td>\n<td>533,431,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>GEM</td>\n<td>G8 Education Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,373,220,000</td>\n<td>0.08</td>\n</tr>\n<tr>\n<td>GHC</td>\n<td>Generation Healthcare Reit Units</td>\n<td>Real Estate</td>\n<td>421,122,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>GMA</td>\n<td>Genworth Mortgage Insurance Australia Limited</td>\n<td>Financials</td>\n<td>1,665,620,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>GMG</td>\n<td>Goodman Group Stapled</td>\n<td>Real Estate</td>\n<td>12,756,400,000</td>\n<td>0.76</td>\n</tr>\n<tr>\n<td>GNC</td>\n<td>Graincorp Limited</td>\n<td>Consumer Staples</td>\n<td>2,187,860,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>GOR</td>\n<td>Gold Road Resources Limited</td>\n<td>Materials</td>\n<td>500,853,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>GOZ</td>\n<td>Growthpoint Properties Australia Stapled</td>\n<td>Real Estate</td>\n<td>2,103,870,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>GPT</td>\n<td>GPT Group Stapled</td>\n<td>Real Estate</td>\n<td>9,043,720,000</td>\n<td>0.54</td>\n</tr>\n<tr>\n<td>GTY</td>\n<td>Gateway Lifestyle Group Stapled</td>\n<td>Real Estate</td>\n<td>646,699,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>GUD</td>\n<td>G.u.d. Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>897,693,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>GWA</td>\n<td>GWA Group Limited</td>\n<td>Industrials</td>\n<td>781,285,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>GXL</td>\n<td>Greencross Limited</td>\n<td>Consumer Discretionary</td>\n<td>796,804,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>GXY</td>\n<td>Galaxy Resources Limited</td>\n<td>Materials</td>\n<td>962,087,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>HFA</td>\n<td>HFA Holdings Limited</td>\n<td>Financials</td>\n<td>389,155,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>HFR</td>\n<td>Highfield Resources Limited</td>\n<td>Materials</td>\n<td>427,495,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>HGG</td>\n<td>Henderson Group PLC Cdi 1:1</td>\n<td>Financials</td>\n<td>2,875,710,000</td>\n<td>0.17</td>\n</tr>\n<tr>\n<td>HPI</td>\n<td>Hotel Property Investments Stapled</td>\n<td>Real Estate</td>\n<td>414,939,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>HSN</td>\n<td>Hansen Technologies Limited</td>\n<td>Information Technology</td>\n<td>712,165,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>HSO</td>\n<td>Healthscope Limited</td>\n<td>Health Care</td>\n<td>3,973,360,000</td>\n<td>0.24</td>\n</tr>\n<tr>\n<td>HVN</td>\n<td>Harvey Norman Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>5,718,530,000</td>\n<td>0.34</td>\n</tr>\n<tr>\n<td>IAG</td>\n<td>Insurance Australia Group Limited</td>\n<td>Financials</td>\n<td>14,181,500,000</td>\n<td>0.85</td>\n</tr>\n<tr>\n<td>IDR</td>\n<td>Industria Reit Stapled</td>\n<td>Real Estate</td>\n<td>342,539,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>IEL</td>\n<td>Idp Education Limited</td>\n<td>Consumer Discretionary</td>\n<td>998,677,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>IFL</td>\n<td>Ioof Holdings Limited</td>\n<td>Financials</td>\n<td>2,764,230,000</td>\n<td>0.17</td>\n</tr>\n<tr>\n<td>IFM</td>\n<td>Infomedia LTD</td>\n<td>Information Technology</td>\n<td>226,901,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>IFN</td>\n<td>Infigen Energy Stapled</td>\n<td>Utilities</td>\n<td>702,520,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>IGO</td>\n<td>Independence Group NL</td>\n<td>Materials</td>\n<td>2,534,540,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>ILU</td>\n<td>Iluka Resources Limited</td>\n<td>Materials</td>\n<td>3,043,950,000</td>\n<td>0.18</td>\n</tr>\n<tr>\n<td>IMF</td>\n<td>IMF Bentham Limited</td>\n<td>Financials</td>\n<td>299,584,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>INA</td>\n<td>Ingenia Communities Group Stapled</td>\n<td>Real Estate</td>\n<td>476,268,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>INM</td>\n<td>Iron Mountain Incorporated Cdi 1:1</td>\n<td>Real Estate</td>\n<td>2,146,340,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>IOF</td>\n<td>Investa Office Fund Stapled</td>\n<td>Real Estate</td>\n<td>2,898,300,000</td>\n<td>0.17</td>\n</tr>\n<tr>\n<td>IPD</td>\n<td>Impedimed Limited</td>\n<td>Health Care</td>\n<td>386,258,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>IPH</td>\n<td>IPH Limited</td>\n<td>Industrials</td>\n<td>980,110,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>IPL</td>\n<td>Incitec Pivot Limited</td>\n<td>Materials</td>\n<td>6,073,810,000</td>\n<td>0.36</td>\n</tr>\n<tr>\n<td>IRE</td>\n<td>Iress Limited</td>\n<td>Information Technology</td>\n<td>2,017,390,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>ISD</td>\n<td>Isentia Group Limited</td>\n<td>Information Technology</td>\n<td>574,000,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>ISU</td>\n<td>Iselect Limited</td>\n<td>Consumer Discretionary</td>\n<td>439,875,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>IVC</td>\n<td>Invocare Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,526,120,000</td>\n<td>0.09</td>\n</tr>\n<tr>\n<td>JBH</td>\n<td>JB Hi-fi Limited</td>\n<td>Consumer Discretionary</td>\n<td>3,206,810,000</td>\n<td>0.19</td>\n</tr>\n<tr>\n<td>JHC</td>\n<td>Japara Healthcare Limited</td>\n<td>Health Care</td>\n<td>599,216,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>JHX</td>\n<td>James Hardie Industries PLC Cdi 1:1</td>\n<td>Materials</td>\n<td>9,685,290,000</td>\n<td>0.58</td>\n</tr>\n<tr>\n<td>KAR</td>\n<td>Karoon Gas Australia Limited</td>\n<td>Energy</td>\n<td>441,229,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>KMD</td>\n<td>Kathmandu Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>375,769,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>LLC</td>\n<td>Lendlease Group Stapled</td>\n<td>Real Estate</td>\n<td>8,523,310,000</td>\n<td>0.51</td>\n</tr>\n<tr>\n<td>LNG</td>\n<td>Liquefied Natural Gas Limited</td>\n<td>Energy</td>\n<td>345,619,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>LNK</td>\n<td>Link Administration Holdings Limited</td>\n<td>Information Technology</td>\n<td>2,723,670,000</td>\n<td>0.16</td>\n</tr>\n<tr>\n<td>LYC</td>\n<td>Lynas Corporation Limited</td>\n<td>Materials</td>\n<td>257,026,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>MFG</td>\n<td>Magellan Financial Group Limited</td>\n<td>Financials</td>\n<td>4,090,260,000</td>\n<td>0.24</td>\n</tr>\n<tr>\n<td>MGC</td>\n<td>MG Unit Trust Units</td>\n<td>Consumer Staples</td>\n<td>189,497,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>MGR</td>\n<td>Mirvac Group Stapled</td>\n<td>Real Estate</td>\n<td>7,891,890,000</td>\n<td>0.47</td>\n</tr>\n<tr>\n<td>MIN</td>\n<td>Mineral Resources Limited</td>\n<td>Materials</td>\n<td>2,266,880,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>MLD</td>\n<td>Maca Limited</td>\n<td>Materials</td>\n<td>401,899,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>MLX</td>\n<td>Metals X Limited</td>\n<td>Materials</td>\n<td>341,231,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>MMS</td>\n<td>Mcmillan Shakespeare Limited</td>\n<td>Industrials</td>\n<td>904,435,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>MND</td>\n<td>Monadelphous Group Limited</td>\n<td>Industrials</td>\n<td>1,053,870,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>MNS</td>\n<td>Magnis Resources Limited</td>\n<td>Materials</td>\n<td>339,749,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>MOC</td>\n<td>Mortgage Choice Limited</td>\n<td>Financials</td>\n<td>298,651,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>MPL</td>\n<td>Medibank Private Limited</td>\n<td>Financials</td>\n<td>7,766,290,000</td>\n<td>0.46</td>\n</tr>\n<tr>\n<td>MQA</td>\n<td>Macquarie Atlas Roads Group Stapled</td>\n<td>Industrials</td>\n<td>2,677,160,000</td>\n<td>0.16</td>\n</tr>\n<tr>\n<td>MQG</td>\n<td>Macquarie Group Limited</td>\n<td>Financials</td>\n<td>29,651,400,000</td>\n<td>1.78</td>\n</tr>\n<tr>\n<td>MSB</td>\n<td>Mesoblast Limited</td>\n<td>Health Care</td>\n<td>545,765,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>MTR</td>\n<td>Mantra Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>915,396,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>MTS</td>\n<td>Metcash Limited</td>\n<td>Consumer Staples</td>\n<td>2,224,460,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>MVF</td>\n<td>Monash Ivf Group Limited</td>\n<td>Health Care</td>\n<td>482,561,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>MYO</td>\n<td>Myob Group Limited</td>\n<td>Information Technology</td>\n<td>2,193,740,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>MYR</td>\n<td>Myer Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,133,360,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>MYX</td>\n<td>Mayne Pharma Group Limited</td>\n<td>Health Care</td>\n<td>2,016,060,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>NAB</td>\n<td>National Australia Bank Limited</td>\n<td>Financials</td>\n<td>81,896,800,000</td>\n<td>4.9</td>\n</tr>\n<tr>\n<td>NAN</td>\n<td>Nanosonics Limited</td>\n<td>Health Care</td>\n<td>925,950,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>NCM</td>\n<td>Newcrest Mining Limited</td>\n<td>Materials</td>\n<td>15,526,400,000</td>\n<td>0.93</td>\n</tr>\n<tr>\n<td>NEC</td>\n<td>Nine Entertainment Co. Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>928,012,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>NHF</td>\n<td>Nib Holdings Limited</td>\n<td>Financials</td>\n<td>2,085,270,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>NSR</td>\n<td>National Storage Reit Stapled</td>\n<td>Real Estate</td>\n<td>752,272,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>NST</td>\n<td>Northern Star Resources LTD</td>\n<td>Materials</td>\n<td>2,173,960,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>NTC</td>\n<td>Netcomm Wireless Limited</td>\n<td>Information Technology</td>\n<td>314,609,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>NUF</td>\n<td>Nufarm Limited</td>\n<td>Materials</td>\n<td>2,443,350,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>NVT</td>\n<td>Navitas Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,809,900,000</td>\n<td>0.11</td>\n</tr>\n<tr>\n<td>NWS</td>\n<td>News Corporation. B Voting</td>\n<td>Consumer Discretionary</td>\n<td>713,820,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>NXT</td>\n<td>Nextdc Limited</td>\n<td>Information Technology</td>\n<td>1,034,020,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>OFX</td>\n<td>OFX Group Limited</td>\n<td>Financials</td>\n<td>403,200,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>OGC</td>\n<td>Oceanagold Corporation Cdi 1:1</td>\n<td>Materials</td>\n<td>2,566,080,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>OML</td>\n<td>Ooh!media Limited</td>\n<td>Consumer Discretionary</td>\n<td>750,111,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>ORA</td>\n<td>Orora Limited</td>\n<td>Materials</td>\n<td>3,607,990,000</td>\n<td>0.22</td>\n</tr>\n<tr>\n<td>ORE</td>\n<td>Orocobre Limited</td>\n<td>Materials</td>\n<td>952,752,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>ORG</td>\n<td>Origin Energy Limited</td>\n<td>Energy</td>\n<td>11,564,700,000</td>\n<td>0.69</td>\n</tr>\n<tr>\n<td>ORI</td>\n<td>Orica Limited</td>\n<td>Materials</td>\n<td>6,650,790,000</td>\n<td>0.4</td>\n</tr>\n<tr>\n<td>OSH</td>\n<td>Oil Search Limited 10T</td>\n<td>Energy</td>\n<td>10,917,700,000</td>\n<td>0.65</td>\n</tr>\n<tr>\n<td>OZL</td>\n<td>Oz Minerals Limited</td>\n<td>Materials</td>\n<td>2,394,380,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>PDN</td>\n<td>Paladin Energy LTD</td>\n<td>Energy</td>\n<td>147,305,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>PGH</td>\n<td>Pact Group Holdings LTD</td>\n<td>Materials</td>\n<td>2,019,830,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>PLS</td>\n<td>Pilbara Minerals Limited</td>\n<td>Materials</td>\n<td>631,223,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>PMV</td>\n<td>Premier Investments Limited</td>\n<td>Consumer Discretionary</td>\n<td>2,273,320,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>PPT</td>\n<td>Perpetual Limited</td>\n<td>Financials</td>\n<td>2,270,970,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>PRG</td>\n<td>Programmed Maintenance Services Limited</td>\n<td>Industrials</td>\n<td>495,320,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>PRU</td>\n<td>Perseus Mining Limited</td>\n<td>Materials</td>\n<td>345,659,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>PRY</td>\n<td>Primary Health Care Limited</td>\n<td>Health Care</td>\n<td>2,127,450,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>PTM</td>\n<td>Platinum Asset Management Limited</td>\n<td>Financials</td>\n<td>3,097,660,000</td>\n<td>0.19</td>\n</tr>\n<tr>\n<td>QAN</td>\n<td>Qantas Airways Limited</td>\n<td>Industrials</td>\n<td>6,154,980,000</td>\n<td>0.37</td>\n</tr>\n<tr>\n<td>QBE</td>\n<td>QBE Insurance Group Limited</td>\n<td>Financials</td>\n<td>17,035,200,000</td>\n<td>1.02</td>\n</tr>\n<tr>\n<td>QUB</td>\n<td>Qube Holdings Limited</td>\n<td>Industrials</td>\n<td>3,542,670,000</td>\n<td>0.21</td>\n</tr>\n<tr>\n<td>RCG</td>\n<td>RCG Corporation Limited</td>\n<td>Consumer Discretionary</td>\n<td>803,817,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>RCR</td>\n<td>RCR Tomlinson Limited</td>\n<td>Industrials</td>\n<td>384,899,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>REA</td>\n<td>REA Group LTD</td>\n<td>Consumer Discretionary</td>\n<td>7,274,600,000</td>\n<td>0.44</td>\n</tr>\n<tr>\n<td>REG</td>\n<td>Regis Healthcare Limited</td>\n<td>Health Care</td>\n<td>1,375,640,000</td>\n<td>0.08</td>\n</tr>\n<tr>\n<td>RFF</td>\n<td>Rural Funds Group Stapled</td>\n<td>Real Estate</td>\n<td>361,802,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>RFG</td>\n<td>Retail Food Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,235,900,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>RHC</td>\n<td>Ramsay Health Care Limited</td>\n<td>Health Care</td>\n<td>13,802,100,000</td>\n<td>0.83</td>\n</tr>\n<tr>\n<td>RIC</td>\n<td>Ridley Corporation Limited</td>\n<td>Consumer Staples</td>\n<td>384,771,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>RIO</td>\n<td>RIO Tinto Limited</td>\n<td>Materials</td>\n<td>25,409,100,000</td>\n<td>1.52</td>\n</tr>\n<tr>\n<td>RMD</td>\n<td>Resmed Inc Cdi 10:1</td>\n<td>Health Care</td>\n<td>12,088,200,000</td>\n<td>0.72</td>\n</tr>\n<tr>\n<td>RRL</td>\n<td>Regis Resources Limited</td>\n<td>Materials</td>\n<td>1,487,950,000</td>\n<td>0.09</td>\n</tr>\n<tr>\n<td>RSG</td>\n<td>Resolute Mining Limited</td>\n<td>Materials</td>\n<td>958,078,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>RWC</td>\n<td>Reliance Worldwide Corporation Limited</td>\n<td>Industrials</td>\n<td>1,680,000,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>S32</td>\n<td>SOUTH32 Limited</td>\n<td>Materials</td>\n<td>14,640,300,000</td>\n<td>0.88</td>\n</tr>\n<tr>\n<td>SAR</td>\n<td>Saracen Mineral Holdings Limited</td>\n<td>Materials</td>\n<td>799,048,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SBM</td>\n<td>ST Barbara Limited</td>\n<td>Materials</td>\n<td>1,014,560,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>SCG</td>\n<td>Scentre Group Stapled</td>\n<td>Real Estate</td>\n<td>24,704,700,000</td>\n<td>1.48</td>\n</tr>\n<tr>\n<td>SCP</td>\n<td>Shopping Centres Australasia Property Group Stapled</td>\n<td>Real Estate</td>\n<td>1,622,440,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>SDA</td>\n<td>Speedcast International Limited</td>\n<td>Telecommunication Services</td>\n<td>831,140,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SDF</td>\n<td>Steadfast Group Limited</td>\n<td>Financials</td>\n<td>1,656,950,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>SEH</td>\n<td>Sino Gas & Energy Holdings Limited</td>\n<td>Energy</td>\n<td>238,553,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>SEK</td>\n<td>Seek Limited</td>\n<td>Industrials</td>\n<td>5,175,350,000</td>\n<td>0.31</td>\n</tr>\n<tr>\n<td>SFR</td>\n<td>Sandfire Resources NL</td>\n<td>Materials</td>\n<td>889,630,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SGF</td>\n<td>SG Fleet Group Limited</td>\n<td>Industrials</td>\n<td>842,593,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SGM</td>\n<td>Sims Metal Management Limited</td>\n<td>Materials</td>\n<td>2,533,180,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>SGP</td>\n<td>Stockland Stapled</td>\n<td>Real Estate</td>\n<td>11,015,100,000</td>\n<td>0.66</td>\n</tr>\n<tr>\n<td>SGR</td>\n<td>The Star Entertainment Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>4,268,730,000</td>\n<td>0.26</td>\n</tr>\n<tr>\n<td>SHL</td>\n<td>Sonic Healthcare Limited</td>\n<td>Health Care</td>\n<td>8,908,830,000</td>\n<td>0.53</td>\n</tr>\n<tr>\n<td>SHV</td>\n<td>Select Harvests Limited</td>\n<td>Consumer Staples</td>\n<td>487,950,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>SIP</td>\n<td>Sigma Pharmaceuticals Limited</td>\n<td>Health Care</td>\n<td>1,390,650,000</td>\n<td>0.08</td>\n</tr>\n<tr>\n<td>SIQ</td>\n<td>Smartgroup Corporation LTD</td>\n<td>Industrials</td>\n<td>762,939,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SIV</td>\n<td>Silver Chef Limited</td>\n<td>Industrials</td>\n<td>319,297,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>SKC</td>\n<td>Skycity Entertainment Group Limited NZX</td>\n<td>Consumer Discretionary</td>\n<td>2,486,980,000</td>\n<td>0.15</td>\n</tr>\n<tr>\n<td>SKI</td>\n<td>Spark Infrastructure Group Forus</td>\n<td>Utilities</td>\n<td>4,003,190,000</td>\n<td>0.24</td>\n</tr>\n<tr>\n<td>SKT</td>\n<td>SKY Network Television Limited NZ</td>\n<td>Consumer Discretionary</td>\n<td>1,723,890,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>SLK</td>\n<td>Sealink Travel Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>464,297,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>SPK</td>\n<td>Spark New Zealand Limited NZX</td>\n<td>Telecommunication Services</td>\n<td>6,029,170,000</td>\n<td>0.36</td>\n</tr>\n<tr>\n<td>SPL</td>\n<td>Starpharma Holdings Limited</td>\n<td>Health Care</td>\n<td>267,189,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>SPO</td>\n<td>Spotless Group Holdings Limited</td>\n<td>Industrials</td>\n<td>1,087,310,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>SRX</td>\n<td>Sirtex Medical Limited</td>\n<td>Health Care</td>\n<td>817,559,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>SSM</td>\n<td>Service Stream Limited</td>\n<td>Industrials</td>\n<td>401,708,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>STO</td>\n<td>Santos Limited</td>\n<td>Energy</td>\n<td>8,168,810,000</td>\n<td>0.49</td>\n</tr>\n<tr>\n<td>SUL</td>\n<td>Super Retail Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>2,041,430,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>SUN</td>\n<td>Suncorp Group Limited</td>\n<td>Financials</td>\n<td>17,443,500,000</td>\n<td>1.04</td>\n</tr>\n<tr>\n<td>SVW</td>\n<td>Seven Group Holdings Limited</td>\n<td>Industrials</td>\n<td>2,204,930,000</td>\n<td>0.13</td>\n</tr>\n<tr>\n<td>SWM</td>\n<td>Seven West Media Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,213,970,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>SXL</td>\n<td>Southern Cross Media Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,188,130,000</td>\n<td>0.07</td>\n</tr>\n<tr>\n<td>SXY</td>\n<td>Senex Energy Limited</td>\n<td>Energy</td>\n<td>305,906,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>SYD</td>\n<td>Sydney Airport Forus</td>\n<td>Industrials</td>\n<td>13,476,500,000</td>\n<td>0.81</td>\n</tr>\n<tr>\n<td>SYR</td>\n<td>Syrah Resources Limited</td>\n<td>Materials</td>\n<td>804,460,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>TAH</td>\n<td>Tabcorp Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>4,017,630,000</td>\n<td>0.24</td>\n</tr>\n<tr>\n<td>TCL</td>\n<td>Transurban Group Stapled</td>\n<td>Industrials</td>\n<td>21,081,100,000</td>\n<td>1.26</td>\n</tr>\n<tr>\n<td>TEN</td>\n<td>TEN Network Holdings Limited</td>\n<td>Consumer Discretionary</td>\n<td>334,995,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>TFC</td>\n<td>TFS Corporation Limited</td>\n<td>Materials</td>\n<td>647,732,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>TGA</td>\n<td>Thorn Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>300,588,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>TGR</td>\n<td>Tassal Group Limited</td>\n<td>Consumer Staples</td>\n<td>623,669,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>TIX</td>\n<td>360 Capital Industrial Fund Ord Unit</td>\n<td>Real Estate</td>\n<td>532,013,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>TLS</td>\n<td>Telstra Corporation Limited</td>\n<td>Telecommunication Services</td>\n<td>60,911,800,000</td>\n<td>3.65</td>\n</tr>\n<tr>\n<td>TME</td>\n<td>Trade Me Group Limited NZX</td>\n<td>Consumer Discretionary</td>\n<td>1,926,230,000</td>\n<td>0.12</td>\n</tr>\n<tr>\n<td>TNE</td>\n<td>Technology One Limited</td>\n<td>Information Technology</td>\n<td>1,770,140,000</td>\n<td>0.11</td>\n</tr>\n<tr>\n<td>TOX</td>\n<td>TOX Free Solutions Limited</td>\n<td>Industrials</td>\n<td>502,320,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>TPM</td>\n<td>TPG Telecom Limited</td>\n<td>Telecommunication Services</td>\n<td>5,786,590,000</td>\n<td>0.35</td>\n</tr>\n<tr>\n<td>TRS</td>\n<td>The Reject Shop Limited</td>\n<td>Consumer Discretionary</td>\n<td>244,729,000</td>\n<td>0.01</td>\n</tr>\n<tr>\n<td>TTS</td>\n<td>Tatts Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>6,578,970,000</td>\n<td>0.39</td>\n</tr>\n<tr>\n<td>TWE</td>\n<td>Treasury Wine Estates Limited</td>\n<td>Consumer Staples</td>\n<td>7,883,280,000</td>\n<td>0.47</td>\n</tr>\n<tr>\n<td>VCX</td>\n<td>Vicinity Centres Stapled</td>\n<td>Real Estate</td>\n<td>11,836,400,000</td>\n<td>0.71</td>\n</tr>\n<tr>\n<td>VLW</td>\n<td>Villa World Limited</td>\n<td>Real Estate</td>\n<td>258,995,000</td>\n<td>0.02</td>\n</tr>\n<tr>\n<td>VOC</td>\n<td>Vocus Communications Limited</td>\n<td>Telecommunication Services</td>\n<td>2,400,770,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>VRL</td>\n<td>Village Roadshow Limited</td>\n<td>Consumer Discretionary</td>\n<td>737,762,000</td>\n<td>0.04</td>\n</tr>\n<tr>\n<td>VRT</td>\n<td>Virtus Health Limited</td>\n<td>Health Care</td>\n<td>501,551,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>VTG</td>\n<td>Vita Group Limited</td>\n<td>Consumer Discretionary</td>\n<td>490,858,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>VVR</td>\n<td>Viva Energy Reit Stapled</td>\n<td>Real Estate</td>\n<td>1,656,360,000</td>\n<td>0.1</td>\n</tr>\n<tr>\n<td>WBA</td>\n<td>Webster Limited</td>\n<td>Consumer Staples</td>\n<td>474,619,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>WBC</td>\n<td>Westpac Banking Corporation</td>\n<td>Financials</td>\n<td>109,426,000,000</td>\n<td>6.55</td>\n</tr>\n<tr>\n<td>WEB</td>\n<td>Webjet Limited</td>\n<td>Consumer Discretionary</td>\n<td>1,037,770,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>WES</td>\n<td>Wesfarmers Limited</td>\n<td>Consumer Staples</td>\n<td>47,657,800,000</td>\n<td>2.85</td>\n</tr>\n<tr>\n<td>WFD</td>\n<td>Westfield Corporation Stapled</td>\n<td>Real Estate</td>\n<td>19,492,500,000</td>\n<td>1.17</td>\n</tr>\n<tr>\n<td>WGX</td>\n<td>Westgold Resources Limited</td>\n<td>Materials</td>\n<td>502,708,000</td>\n<td>0.03</td>\n</tr>\n<tr>\n<td>WHC</td>\n<td>Whitehaven Coal Limited</td>\n<td>Energy</td>\n<td>2,677,980,000</td>\n<td>0.16</td>\n</tr>\n<tr>\n<td>WOR</td>\n<td>Worleyparsons Limited</td>\n<td>Energy</td>\n<td>2,395,430,000</td>\n<td>0.14</td>\n</tr>\n<tr>\n<td>WOW</td>\n<td>Woolworths Limited</td>\n<td>Consumer Staples</td>\n<td>31,044,700,000</td>\n<td>1.86</td>\n</tr>\n<tr>\n<td>WPL</td>\n<td>Woodside Petroleum Limited</td>\n<td>Energy</td>\n<td>26,250,600,000</td>\n<td>1.57</td>\n</tr>\n<tr>\n<td>WPP</td>\n<td>WPP Aunz LTD</td>\n<td>Consumer Discretionary</td>\n<td>1,031,100,000</td>\n<td>0.06</td>\n</tr>\n<tr>\n<td>WSA</td>\n<td>Western Areas Limited</td>\n<td>Materials</td>\n<td>835,754,000</td>\n<td>0.05</td>\n</tr>\n<tr>\n<td>WTC</td>\n<td>Wisetech Global Limited</td>\n<td>Information Technology</td>\n<td>1,642,050,000</td>\n<td>0.1</td>\n</tr>\n</tbody>\n</table>\n<hr />\n<p> </p>\n<h2>2016 Archived Lists</h2>\n<p><a href="/wp-content/uploads/csv/20161201-asx300.csv">1 December</a><br />\n<a href="/wp-content/uploads/csv/20161101-asx300.csv">1 November</a><br />\n<a href="/wp-content/uploads/csv/20161010-asx300.csv">10 October</a><br />\n<a href="/wp-content/uploads/csv/20160901-asx300.csv">1 September</a><br />\n<a href="/wp-content/uploads/csv/20160807-asx300.csv">7 August</a></p>\n<hr />\n<p> </p>\n<h2 class="p1"><span id="sector-breakdown" class="s1"><b>Sector breakdown</b></span></h2>\n<p class="p1">All S&P/ASX Indices use the Global Industry Classification Standard (GICS) to categorise constituents according to their principal business activity.</p>\n<p>Data updated: 10 October 2016</p>\n<p class="mobile-only">See the Excel spreadsheet for Sector Breakdown data.</p>\n<div>\n<p><!--Div that will hold the pie chart--></p>\n<div id="chart_div_pie" style="height: 300px;"></div>\n</div>\n<h2 class="p1"></h2>\n<h2 class="p1"></h2>\n<h2 class="p1"><b>\xc2\xa0</b></h2>\n<h2 class="p1"><span id="fundamentals" class="s1"><b>PE Ratio & Dividend Yield</b></span></h2>\n<p class="p1">Fundamental data for the S&P/ASX 300 Index is weight-adjusted by market capitalisation. Companies with zero or negative values are ignored.</p>\n<p class="p1">Data updated: 7 August 2016</p>\n<p><!--Div that will hold the pie chart--></p>\n<div id="chart_div_column"></div>\n<p> </p>\n<h2 class="p1"><span id="etf" class="s1"><b>Exchange Traded Fund (ETF)</b></span></h2>\n<p class="p1">ETFs are managed funds that track a benchmark. They trade on the ASX like ordinary shares using their ticker code. The goal of an index fund is to replicate the performance of the underlying index, less fees and expenses.</p>\n<p class="p1">As at 10 October 2016, the Vanguard Australian Shares Index ETF (VAS)</span><span class="s1">\xc2\xa0is the only ETF that tracks the performance of the S&P/ASX 300 Index.</p>\n<div class="twocol-one">\n<table class="etf">\n<tbody>\n<tr>\n<th colspan="2">Vanguard Australian Shares Index ETF (VAS)</th>\n</tr>\n<tr>\n<td>Manager:</td>\n<td>\nVanguard\n</td>\n</tr>\n<tr>\n<td>Inception:</td>\n<td>4 May 2009</td>\n</tr>\n<tr>\n<td>Mgmt Fee:</td>\n<td>0.15%</td>\n</tr>\n<tr>\n<td>Fact Sheet:</td>\n<td><a target="_blank" href="https://static.vgcontent.info/crp/intl/auw/docs/etfs/profiles/VAS_profile.pdf?20160721|091500">Link</a></td>\n</tr>\n</tbody>\n</table>\n</div> <div class="twocol-one last">\n<p><center><strong>VAS vs S&P/ASX 300 Index</strong></center><br />\n<a href="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=off&z=l&c=%5EAXKO" data-rel="lightbox"><img src="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=on&z=l&c=%5EAXKO&a=s&lang=en-AU&region=AU" alt="ASX300 Index fund ETF vs S&P/ASX 300 Index" width="360" /></a></div></p>\n<p> </p>\n<p> </p>\n<h2>Additional Information</h2>\n<p><img src="/wp-content/uploads/sandp.png" class="link-icons"><a href="http://au.spindices.com/idsenhancedfactsheet/file.pdf?calcFrequency=M&force_download=true&indexId=124612" target="_blank">S&P/ASX 300 FactSheet (PDF)</a></p>\n<p><img src="/wp-content/uploads/market-index-icon.png" class="link-icons"><a href="http://www.marketindex.com.au/asx300" target="_blank">S&P/ASX 300 Share Prices & Charts</a></p>\n </div><!-- .entry-content -->\n\n</article><!-- #post-## -->\n \n </div>\n\n \n \n<div id="sidebar" class="site-sidebar">\n\n \n <div class="widget widget_text" id="text-2">\t\t\t<div class="textwidget"><p><img src="/wp-content/uploads/logo.png" style="width:120px;margin-bottom:10px;" /></p>\n<p>ASX 300 List is an independent aggregator of publicly available S&P/ASX 300 information. </p>\n<p>Download constituent data, GICS Sectors and market capitalisation in Excel format.</p>\n<p>Created with love in Sydney. <a href="/contact-us"><font style="color:#0F7FAF">Contact us</font></a>.</p>\n</div>\n\t\t<div class="clear"></div></div><div class="widget widget_text" id="text-3">\t\t\t<div class="textwidget"><img src="/wp-content/uploads/sandp.png" style="width:60px;float:left;margin-right:15px;" />\r\n\r\n<p style="text-align:left;">Standard & Poor\'s (S&P) manage the index methodology.</p></div>\n\t\t<div class="clear"></div></div><div class="widget widget_text" id="text-4">\t\t\t<div class="textwidget"><img src="/wp-content/uploads/asx-logo.png" style="width:60px;float:left;margin-right:15px;" />\r\n\r\n<p style="text-align:left;">Australian Securities Exchange (ASX) lists the companies.</p></div>\n\t\t<div class="clear"></div></div><div class="widget widget_text" id="text-5">\t\t\t<div class="textwidget"><img src="/wp-content/uploads/market-index-icon.png" style="width:60px;float:left;margin-right:15px;" />\r\n\r\n<p style="text-align:left;">Market Index provides company information and shares prices on all ASX stocks.</p></div>\n\t\t<div class="clear"></div></div>\n </div>\n\n </main><!-- #main -->\n\n\r\n </div><!-- ./inner-wrap -->\r\n\r\n <footer id="colophon" class="site-footer" role="contentinfo">\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n <div class="footer-menu">\r\n <div class="menu-footer"><ul id="menu-footer" class="menu"><li id="menu-item-26" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26"><a href="https://www.asx300list.com/contact-us/">Contact Us</a></li>\n<li id="menu-item-24" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24"><a href="https://www.asx300list.com/privacy-policy/">Privacy Policy</a></li>\n<li id="menu-item-25" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25"><a href="https://www.asx300list.com/disclaimer/">Disclaimer</a></li>\n</ul></div> </div>\r\n\r\n \r\n\r\n <div class="site-info">\r\n\r\n Copyright \xc2\xa9 2016 ASX300list.com\r\n\r\n </div><!-- .site-info -->\r\n </footer><!-- #colophon -->\r\n\r\n</div>\r\n<script>\r\n (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){\r\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\r\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\r\n })(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\');\r\n\r\n ga(\'create\', \'UA-26193949-5\', \'auto\');\r\n ga(\'send\', \'pageview\');\r\n\r\n</script><script>(function($){$(document).ready(function(){});})(jQuery);</script><script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/plugins/responsive-lightbox/assets/swipebox/js/jquery.swipebox.min.js?ver=1.6.10\'></script>\n<script type=\'text/javascript\'>\n/* <![CDATA[ */\nvar rlArgs = {"script":"swipebox","selector":"lightbox","customEvents":"","activeGalleries":"1","animation":"1","hideCloseButtonOnMobile":"0","removeBarsOnMobile":"0","hideBars":"1","hideBarsDelay":"5000","videoMaxWidth":"1080","useSVG":"1","loopAtEnd":"0"};\n/* ]]> */\n</script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/plugins/responsive-lightbox/js/front.js?ver=1.6.10\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-includes/js/comment-reply.min.js?ver=4.7.2\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/jquery.mmenu.min.all.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/flickity.pkgd.min.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/jquery.fitvids.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/superfish.min.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/search_button.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\'>\n/* <![CDATA[ */\nvar zoomOptions = {"slideshow_auto":"1","slideshow_speed":"3000"};\n/* ]]> */\n</script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/js/functions.js?ver=1.2.1\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/js/galleria.js\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/js/wzslider.js\'></script>\n<script type=\'text/javascript\' src=\'https://www.asx300list.com/wp-includes/js/wp-embed.min.js?ver=4.7.2\'></script>\n\r\n</body>\r\n</html>'
In [3]:
soup = BeautifulSoup(r, 'html.parser')
print(soup.prettify())
<!DOCTYPE html>
<html lang="en-AU" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<link href="http://gmpg.org/xfn/11" rel="profile">
<link href="https://www.asx300list.com/xmlrpc.php" rel="pingback">
<title>
ASX 300 List - Data for ASX Top 300 Companies
</title>
<!-- This site is optimized with the Yoast SEO plugin v4.0.2 - https://yoast.com/wordpress/plugins/seo/ -->
<meta content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting." name="description"/>
<meta content="noodp" name="robots"/>
<link href="https://www.asx300list.com/" rel="canonical"/>
<meta content="en_US" property="og:locale"/>
<meta content="website" property="og:type"/>
<meta content="ASX 300 List - Data for ASX Top 300 Companies" property="og:title"/>
<meta content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting." property="og:description"/>
<meta content="https://www.asx300list.com/" property="og:url"/>
<meta content="ASX 300 List" property="og:site_name"/>
<meta content="https://www.asx300list.com/wp-content/uploads/market-index-icon.png" property="og:image"/>
<meta content="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=on&z=l&c=%5EAXKO&a=s&lang=en-AU&region=AU" property="og:image"/>
<meta content="https://www.asx300list.com/wp-content/uploads/sandp.png" property="og:image"/>
<meta content="summary" name="twitter:card"/>
<meta content="Download an up-to-date list of Australia's top 300 companies. ASX 300 constituent data includes GICS Sectors, market cap and index weighting." name="twitter:description"/>
<meta content="ASX 300 List - Data for ASX Top 300 Companies" name="twitter:title"/>
<meta content="https://www.asx300list.com/wp-content/uploads/market-index-icon.png" name="twitter:image"/>
<script type="application/ld+json">
{"@context":"http:\/\/schema.org","@type":"WebSite","@id":"#website","url":"https:\/\/www.asx300list.com\/","name":"ASX 300 List","potentialAction":{"@type":"SearchAction","target":"https:\/\/www.asx300list.com\/?s={search_term_string}","query-input":"required name=search_term_string"}}
</script>
<!-- / Yoast SEO plugin. -->
<link href="//fonts.googleapis.com" rel="dns-prefetch"/>
<link href="//s.w.org" rel="dns-prefetch"/>
<link href="https://www.asx300list.com/feed/" rel="alternate" title="ASX 300 List » Feed" type="application/rss+xml"/>
<link href="https://www.asx300list.com/comments/feed/" rel="alternate" title="ASX 300 List » Comments Feed" type="application/rss+xml"/>
<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.asx300list.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.7.2"}};
!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
</script>
<style type="text/css">
img.wp-smiley,
img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 .07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>
<link href="https://www.asx300list.com/wp-content/plugins/responsive-lightbox/assets/swipebox/css/swipebox.min.css?ver=1.6.10" id="responsive-lightbox-swipebox-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/shortcodes.css?ver=4.7.2" id="wpz-shortcodes-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/font-awesome.min.css?ver=4.7.2" id="zoom-font-awesome-css" media="all" rel="stylesheet" type="text/css"/>
<link href="//fonts.googleapis.com/css?family=Merriweather%3Aregular%2Citalic%2C700%7CRoboto+Condensed%3Aregular%2Citalic%2C700%7CRoboto+Slab%3Aregular%2C700%26subset%3Dlatin%2C&ver=4.7.2" id="foodica-google-fonts-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/style.css?ver=4.7.2" id="foodica-style-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/css/media-queries.css?ver=1.2.1" id="media-queries-css" media="all" rel="stylesheet" type="text/css"/>
<link href="//fonts.googleapis.com/css?family=Cabin%3A400%2C500%7CAnnie+Use+Your+Telescope%7CRoboto+Condensed%3A400%2C700%7CRoboto+Slab%3A400%2C700%2C300%7CMerriweather%3A400%2C400italic%2C700%2C700italic&subset=latin%2Ccyrillic%2Cgreek&ver=4.7.2" id="foodica-google-font-default-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-includes/css/dashicons.min.css?ver=4.7.2" id="dashicons-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/css/wzslider.css?ver=4.7.2" id="wzslider-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/styles/default.css?ver=4.7.2" id="wpzoom-theme-css" media="all" rel="stylesheet" type="text/css"/>
<link href="https://www.asx300list.com/wp-content/themes/foodica/custom.css?ver=4.7.2" id="wpzoom-custom-css" media="all" rel="stylesheet" type="text/css"/>
<script src="https://www.asx300list.com/wp-includes/js/jquery/jquery.js?ver=1.12.4" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/init.js?ver=4.7.2" type="text/javascript">
</script>
<link href="https://www.asx300list.com/wp-json/" rel="https://api.w.org/"/>
<link href="https://www.asx300list.com/xmlrpc.php?rsd" rel="EditURI" title="RSD" type="application/rsd+xml"/>
<link href="https://www.asx300list.com/wp-includes/wlwmanifest.xml" rel="wlwmanifest" type="application/wlwmanifest+xml"/>
<meta content="WordPress 4.7.2" name="generator"/>
<link href="https://www.asx300list.com/" rel="shortlink"/>
<link href="https://www.asx300list.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asx300list.com%2F" rel="alternate" type="application/json+oembed"/>
<link href="https://www.asx300list.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.asx300list.com%2F&format=xml" rel="alternate" type="text/xml+oembed"/>
<script async="" src="https://www.gstatic.com/charts/loader.js" type="text/javascript">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript">
</script>
<script async="" src="/wp-content/uploads/charts.js" type="text/javascript">
</script>
<link href="/wp-content/uploads/format.css" rel="stylesheet" type="text/css"/>
<script>
$(document).ready(function(){
// Add smooth scrolling to all links
$("a").on('click', function(event) {
// Make sure this.hash has a value before overriding default behavior
if (this.hash !== "") {
// Prevent default anchor click behavior
event.preventDefault();
// Store hash
var hash = this.hash;
// Using jQuery's animate() method to add smooth page scroll
// The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
// Add hash (#) to URL when done scrolling (default click behavior)
window.location.hash = hash;
});
} // End if
});
});
</script>
<script async="" src="/wp-content/uploads/sorttable.js">
</script>
<!-- Begin Theme Custom CSS -->
<style id="foodica-custom-css" type="text/css">
.navbar-brand .tagline{color:#999999;}.top-navbar{background:#eff4f7;}.main-navbar{background:#eff4f7;}.navbar-brand h1 a{font-weight:bold;}.navbar-brand h1,.navbar-brand h1 a{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
</style>
<!-- End Theme Custom CSS -->
</link>
</link>
</meta>
</meta>
</head>
<body class="home page-template-default page page-id-16">
<div class="page-wrap">
<header class="site-header">
<nav class="navbar" role="navigation">
<nav class="top-navbar" role="navigation">
<div class="inner-wrap">
<div class="header_social">
</div>
<div class="navbar-header">
<a class="navbar-toggle" href="#menu-top-slide">
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
</a>
</div>
<div id="navbar-main">
</div>
<!-- #navbar-main -->
</div>
<!-- ./inner-wrap -->
</nav>
<!-- .navbar -->
<div class="clear">
</div>
</nav>
<!-- .navbar -->
<div class="inner-wrap">
<div class="navbar-brand">
<h1>
<a href="https://www.asx300list.com" title="Constituents, Sectors & Weighting">
ASX 300 List
</a>
</h1>
<p class="tagline">
Constituents, Sectors & Weighting
</p>
</div>
<!-- .navbar-brand -->
</div>
<nav class="navbar" role="navigation">
<nav class="main-navbar" role="navigation">
<div class="inner-wrap">
<div class="navbar-header">
<a class="navbar-toggle" href="#menu-main-slide">
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
<span class="icon-bar">
</span>
</a>
<div class="menu-main-nav-container" id="menu-main-slide">
<ul class="menu" id="menu-main-nav">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9" id="menu-item-9">
<a href="https://www.asx20list.com">
ASX 20
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10" id="menu-item-10">
<a href="https://www.asx50list.com">
ASX 50
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11" id="menu-item-11">
<a href="https://www.asx100list.com">
ASX 100
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12" id="menu-item-12">
<a href="http://www.asx200list.com">
ASX 200
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-13" id="menu-item-13">
<a href="https://www.asx300list.com">
ASX 300
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14" id="menu-item-14">
<a href="https://www.allordslist.com">
All Ords
</a>
</li>
</ul>
</div>
</div>
<div id="navbar-main">
<div class="menu-main-nav-container">
<ul class="nav navbar-nav dropdown sf-menu" id="menu-main-nav-1">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9">
<a href="https://www.asx20list.com">
ASX 20
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10">
<a href="https://www.asx50list.com">
ASX 50
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11">
<a href="https://www.asx100list.com">
ASX 100
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12">
<a href="http://www.asx200list.com">
ASX 200
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-13">
<a href="https://www.asx300list.com">
ASX 300
</a>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14">
<a href="https://www.allordslist.com">
All Ords
</a>
</li>
</ul>
</div>
</div>
<!-- #navbar-main -->
</div>
<!-- ./inner-wrap -->
</nav>
<!-- .navbar -->
<div class="clear">
</div>
</nav>
<!-- .navbar -->
</header>
<!-- .site-header -->
<div class="inner-wrap">
<main class="site-main" id="main" role="main">
<div class="content-area">
<article class="post-16 page type-page status-publish hentry" id="post-16">
<header class="entry-header">
<h1 class="entry-title">
ASX Top 300 Companies
</h1>
</header>
<!-- .entry-header -->
<div class="entry-content">
<p class="p1">
The S&P/ASX 300 (XKO) Index provides exposure to Australia’s large, mid and small-cap equities.
</p>
<p class="p1">
The index consists of all S&P/ASX 200 companies plus 100 smaller-cap companies that have market capitalisations’ above ~$100 million (AUD). The combined market capitalisation represents ~73%
<sup>
(April 2016)
</sup>
of Australia’s sharemarket.
</p>
<p class="p1">
Investors regularly use the ASX 300 as a benchmark for superannuation portfolios and managed funds due to its exposure to smaller companies.
</p>
<p class="p1">
There’s currently one Exchange Traded Funds (ETF) that tracks the performance of the S&P/ASX 300: Vanguard Australian Shares Index (VAS)
</p>
<div class="wpz-sc-box info ">
<strong>
IMPORTANT
</strong>
<br/>
ASX300list.com doesn’t provide share price data.
</div>
</div>
</article>
</div>
</main>
</div>
</div>
</body>
</html>
<p>
<img class="important-img" src="/wp-content/uploads/market-index-icon.png"/>
<strong>
The best website is
<a href="http://www.marketindex.com.au">
Market Index
</a>
.
</strong>
<br/>
They have current ASX share prices, company charts and announcements, dividend data, directors’ transactions and broker consensus.
<br/>
</p>
<p>
</p>
<h2 class="p1">
<b>
How are ASX 300 companies selected?
</b>
</h2>
<p class="p1">
Constituents are selected by a committee from Standard & Poor’s (S&P) and the Australian Securities Exchange (ASX).
</p>
<p class="p1">
All companies listed on the Australian Securities Exchange (ASX) are ranked by market capitalisation. Exchange traded fund (ETFs) and Listed Investment Companies (LICs) are ignored. The top 300 ASX stocks that meet minimum volume and investment benchmarks then become eligible for inclusion in the index.
</p>
<p class="p1">
Rebalances are conducted biannually in March and September. If a significant event occurs (e.g. delisting, merger, etc.) an intra-quarter removal may be conducted. Unlike other indices, a replacement is not added to the index until the next rebalance date.
</p>
<div class="shortcode-unorderedlist star">
</div>
<ul>
<li>
<strong>
Skip to the ASX 300:
</strong>
<a href="#sector-breakdown">
Sector Breakdown
</a>
|
<a href="#fundamentals">
PE & Yield
</a>
|
<a href="#etf">
ETF
</a>
</li>
</ul>
<p>
</p>
<p>
</p>
<hr/>
<h2 class="p1">
</h2>
<h2 class="p1">
<span class="s1" id="list">
<b>
ASX 300 List (1 January 2017)
</b>
</span>
</h2>
<p>
Excel (CSV):
<a href="/wp-content/uploads/csv/20170101-asx300.csv">
Download
</a>
</p>
<p>
Columns are sortable.
</p>
<table class="tableizer-table sortable">
<thead>
<tr class="tableizer-firstrow">
<th>
Code
</th>
<th>
Company
</th>
<th>
Sector
</th>
<th>
Market Cap
</th>
<th>
Weight(%)
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
A2M
</td>
<td>
The A2 Milk Company Limited NZ
</td>
<td>
Consumer Staples
</td>
<td>
1,460,370,000
</td>
<td>
0.09
</td>
</tr>
<tr>
<td>
AAC
</td>
<td>
Australian Agricultural Company Limited
</td>
<td>
Consumer Staples
</td>
<td>
947,014,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
AAD
</td>
<td>
Ardent Leisure Group Stapled
</td>
<td>
Consumer Discretionary
</td>
<td>
1,097,680,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
ABC
</td>
<td>
Adelaide Brighton Limited
</td>
<td>
Materials
</td>
<td>
3,527,620,000
</td>
<td>
0.21
</td>
</tr>
<tr>
<td>
ABP
</td>
<td>
Abacus Property Group Stapled
</td>
<td>
Real Estate
</td>
<td>
1,728,420,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
ACX
</td>
<td>
Aconex Limited
</td>
<td>
Information Technology
</td>
<td>
1,003,640,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
ADH
</td>
<td>
Adairs Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
265,400,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
AGI
</td>
<td>
Ainsworth Game Technology Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
698,591,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
AGL
</td>
<td>
AGL Energy Limited
</td>
<td>
Utilities
</td>
<td>
14,851,400,000
</td>
<td>
0.89
</td>
</tr>
<tr>
<td>
AHG
</td>
<td>
Automotive Holdings Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,309,910,000
</td>
<td>
0.08
</td>
</tr>
<tr>
<td>
AHY
</td>
<td>
Asaleo Care Limited
</td>
<td>
Consumer Staples
</td>
<td>
821,324,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
AIA
</td>
<td>
Auckland International Airport Limited NZX
</td>
<td>
Industrials
</td>
<td>
7,323,990,000
</td>
<td>
0.44
</td>
</tr>
<tr>
<td>
AJA
</td>
<td>
Astro Japan Property Group Forus
</td>
<td>
Real Estate
</td>
<td>
403,339,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
AJX
</td>
<td>
Alexium International Group Limited
</td>
<td>
Materials
</td>
<td>
184,243,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
ALL
</td>
<td>
Aristocrat Leisure Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
9,897,430,000
</td>
<td>
0.59
</td>
</tr>
<tr>
<td>
ALQ
</td>
<td>
Als Limited
</td>
<td>
Industrials
</td>
<td>
3,045,500,000
</td>
<td>
0.18
</td>
</tr>
<tr>
<td>
ALU
</td>
<td>
Altium Limited
</td>
<td>
Information Technology
</td>
<td>
1,053,450,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
AMA
</td>
<td>
AMA Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
466,583,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
AMC
</td>
<td>
Amcor Limited
</td>
<td>
Materials
</td>
<td>
17,314,200,000
</td>
<td>
1.04
</td>
</tr>
<tr>
<td>
AMP
</td>
<td>
AMP Limited
</td>
<td>
Financials
</td>
<td>
14,907,000,000
</td>
<td>
0.89
</td>
</tr>
<tr>
<td>
ANN
</td>
<td>
Ansell Limited
</td>
<td>
Health Care
</td>
<td>
3,643,430,000
</td>
<td>
0.22
</td>
</tr>
<tr>
<td>
ANZ
</td>
<td>
Australia And New Zealand Banking Group Limited
</td>
<td>
Financials
</td>
<td>
89,314,200,000
</td>
<td>
5.35
</td>
</tr>
<tr>
<td>
AOG
</td>
<td>
Aveo Group Stapled
</td>
<td>
Real Estate
</td>
<td>
1,947,480,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
APA
</td>
<td>
APA Group Stapled
</td>
<td>
Utilities
</td>
<td>
9,549,610,000
</td>
<td>
0.57
</td>
</tr>
<tr>
<td>
API
</td>
<td>
Australian Pharmaceutical Industries Limited
</td>
<td>
Health Care
</td>
<td>
1,008,990,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
APN
</td>
<td>
APN News & Media Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
873,284,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
APO
</td>
<td>
Apn Outdoor Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
984,692,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
AQG
</td>
<td>
Alacer Gold Corp Cdi 1:1
</td>
<td>
Materials
</td>
<td>
195,595,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
ARB
</td>
<td>
ARB Corporation Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,397,600,000
</td>
<td>
0.08
</td>
</tr>
<tr>
<td>
ARF
</td>
<td>
Arena Reit Stapled
</td>
<td>
Real Estate
</td>
<td>
436,886,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
ASB
</td>
<td>
Austal Limited
</td>
<td>
Industrials
</td>
<td>
607,433,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
AST
</td>
<td>
Ausnet Services Limited
</td>
<td>
Utilities
</td>
<td>
5,692,980,000
</td>
<td>
0.34
</td>
</tr>
<tr>
<td>
ASX
</td>
<td>
ASX Limited
</td>
<td>
Financials
</td>
<td>
9,629,420,000
</td>
<td>
0.58
</td>
</tr>
<tr>
<td>
AVN
</td>
<td>
Aventus Retail Property Fund Unit
</td>
<td>
Real Estate
</td>
<td>
930,532,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
AWC
</td>
<td>
Alumina Limited
</td>
<td>
Materials
</td>
<td>
5,270,110,000
</td>
<td>
0.32
</td>
</tr>
<tr>
<td>
AWE
</td>
<td>
AWE Limited
</td>
<td>
Energy
</td>
<td>
327,457,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
AYS
</td>
<td>
Amaysim Australia Limited
</td>
<td>
Telecommunication Services
</td>
<td>
365,136,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
AZJ
</td>
<td>
Aurizon Holdings Limited
</td>
<td>
Industrials
</td>
<td>
10,361,300,000
</td>
<td>
0.62
</td>
</tr>
<tr>
<td>
BAL
</td>
<td>
Bellamy’s Australia Limited
</td>
<td>
Consumer Staples
</td>
<td>
645,866,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
BAP
</td>
<td>
Bapcor Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,644,680,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
BBN
</td>
<td>
Baby Bunting Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
305,501,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
BDR
</td>
<td>
Beadell Resources Limited
</td>
<td>
Materials
</td>
<td>
285,543,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
BEN
</td>
<td>
Bendigo And Adelaide Bank Limited
</td>
<td>
Financials
</td>
<td>
6,007,070,000
</td>
<td>
0.36
</td>
</tr>
<tr>
<td>
BGA
</td>
<td>
Bega Cheese Limited
</td>
<td>
Consumer Staples
</td>
<td>
647,036,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
BHP
</td>
<td>
BHP Billiton Limited
</td>
<td>
Materials
</td>
<td>
80,485,000,000
</td>
<td>
4.82
</td>
</tr>
<tr>
<td>
BKL
</td>
<td>
Blackmores Limited
</td>
<td>
Consumer Staples
</td>
<td>
1,780,460,000
</td>
<td>
0.11
</td>
</tr>
<tr>
<td>
BKW
</td>
<td>
Brickworks Limited
</td>
<td>
Materials
</td>
<td>
2,026,350,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
BLA
</td>
<td>
Blue SKY Alternative Investments Limited
</td>
<td>
Financials
</td>
<td>
471,915,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
BLD
</td>
<td>
Boral Limited
</td>
<td>
Materials
</td>
<td>
6,342,320,000
</td>
<td>
0.38
</td>
</tr>
<tr>
<td>
BOQ
</td>
<td>
Bank of Queensland Limited
</td>
<td>
Financials
</td>
<td>
4,597,540,000
</td>
<td>
0.28
</td>
</tr>
<tr>
<td>
BPT
</td>
<td>
Beach Energy Limited
</td>
<td>
Energy
</td>
<td>
1,585,330,000
</td>
<td>
0.09
</td>
</tr>
<tr>
<td>
BRG
</td>
<td>
Breville Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,126,630,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
BSL
</td>
<td>
Bluescope Steel Limited
</td>
<td>
Materials
</td>
<td>
5,325,730,000
</td>
<td>
0.32
</td>
</tr>
<tr>
<td>
BTT
</td>
<td>
BT Investment Management Limited
</td>
<td>
Financials
</td>
<td>
3,303,480,000
</td>
<td>
0.2
</td>
</tr>
<tr>
<td>
BWP
</td>
<td>
BWP Trust Ord Units
</td>
<td>
Real Estate
</td>
<td>
1,920,730,000
</td>
<td>
0.11
</td>
</tr>
<tr>
<td>
BWX
</td>
<td>
BWX Limited
</td>
<td>
Consumer Staples
</td>
<td>
373,799,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
BXB
</td>
<td>
Brambles Limited
</td>
<td>
Industrials
</td>
<td>
19,696,700,000
</td>
<td>
1.18
</td>
</tr>
<tr>
<td>
CAB
</td>
<td>
Cabcharge Australia Limited
</td>
<td>
Industrials
</td>
<td>
467,271,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
CAR
</td>
<td>
Carsales.com Limited
</td>
<td>
Information Technology
</td>
<td>
2,740,040,000
</td>
<td>
0.16
</td>
</tr>
<tr>
<td>
CBA
</td>
<td>
Commonwealth Bank of Australia
</td>
<td>
Financials
</td>
<td>
142,007,000,000
</td>
<td>
8.5
</td>
</tr>
<tr>
<td>
CCL
</td>
<td>
Coca-cola Amatil Limited
</td>
<td>
Consumer Staples
</td>
<td>
7,727,530,000
</td>
<td>
0.46
</td>
</tr>
<tr>
<td>
CCP
</td>
<td>
Credit Corp Group Limited
</td>
<td>
Financials
</td>
<td>
849,522,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
CCV
</td>
<td>
Cash Converters International
</td>
<td>
Consumer Discretionary
</td>
<td>
165,171,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
CDD
</td>
<td>
Cardno Limited
</td>
<td>
Industrials
</td>
<td>
453,212,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
CGC
</td>
<td>
Costa Group Holdings Limited
</td>
<td>
Consumer Staples
</td>
<td>
1,097,640,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
CGF
</td>
<td>
Challenger Limited
</td>
<td>
Financials
</td>
<td>
6,425,600,000
</td>
<td>
0.38
</td>
</tr>
<tr>
<td>
CHC
</td>
<td>
Charter Hall Group Forus
</td>
<td>
Real Estate
</td>
<td>
1,956,280,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
CIM
</td>
<td>
Cimic Group Limited
</td>
<td>
Industrials
</td>
<td>
11,329,400,000
</td>
<td>
0.68
</td>
</tr>
<tr>
<td>
CKF
</td>
<td>
Collins Foods Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
629,886,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
CL1
</td>
<td>
Class Limited
</td>
<td>
Information Technology
</td>
<td>
334,165,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
CMW
</td>
<td>
Cromwell Property Group Stapled
</td>
<td>
Real Estate
</td>
<td>
1,732,510,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
CNU
</td>
<td>
Chorus Limited NZX
</td>
<td>
Telecommunication Services
</td>
<td>
1,558,770,000
</td>
<td>
0.09
</td>
</tr>
<tr>
<td>
COH
</td>
<td>
Cochlear Limited
</td>
<td>
Health Care
</td>
<td>
7,037,640,000
</td>
<td>
0.42
</td>
</tr>
<tr>
<td>
CPU
</td>
<td>
Computershare Limited
</td>
<td>
Information Technology
</td>
<td>
6,807,220,000
</td>
<td>
0.41
</td>
</tr>
<tr>
<td>
CQR
</td>
<td>
Charter Hall Retail Reit Unit
</td>
<td>
Real Estate
</td>
<td>
1,718,180,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
CSL
</td>
<td>
CSL Limited
</td>
<td>
Health Care
</td>
<td>
45,783,800,000
</td>
<td>
2.74
</td>
</tr>
<tr>
<td>
CSR
</td>
<td>
CSR Limited
</td>
<td>
Materials
</td>
<td>
2,330,700,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
CSV
</td>
<td>
CSG Limited
</td>
<td>
Information Technology
</td>
<td>
233,404,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
CTD
</td>
<td>
Corporate Travel Management Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,823,200,000
</td>
<td>
0.11
</td>
</tr>
<tr>
<td>
CTX
</td>
<td>
Caltex Australia Limited
</td>
<td>
Energy
</td>
<td>
7,944,290,000
</td>
<td>
0.48
</td>
</tr>
<tr>
<td>
CVO
</td>
<td>
Cover-more Group Limited
</td>
<td>
Financials
</td>
<td>
731,311,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
CWN
</td>
<td>
Crown Resorts Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
8,434,800,000
</td>
<td>
0.51
</td>
</tr>
<tr>
<td>
CWP
</td>
<td>
Cedar Woods Properties Limited
</td>
<td>
Real Estate
</td>
<td>
398,403,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
CWY
</td>
<td>
Cleanaway Waste Management Limited
</td>
<td>
Industrials
</td>
<td>
1,956,840,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
CYB
</td>
<td>
CYBG PLC Cdi 1:1
</td>
<td>
Financials
</td>
<td>
3,596,910,000
</td>
<td>
0.22
</td>
</tr>
<tr>
<td>
DCN
</td>
<td>
Dacian Gold Limited
</td>
<td>
Materials
</td>
<td>
301,351,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
DLX
</td>
<td>
Duluxgroup Limited
</td>
<td>
Materials
</td>
<td>
2,428,920,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
DMP
</td>
<td>
Domino’s Pizza Enterprises Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
5,773,160,000
</td>
<td>
0.35
</td>
</tr>
<tr>
<td>
DNA
</td>
<td>
Donaco International Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
303,392,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
DOW
</td>
<td>
Downer Edi Limited
</td>
<td>
Industrials
</td>
<td>
2,586,940,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
DRM
</td>
<td>
Doray Minerals Limited
</td>
<td>
Materials
</td>
<td>
153,476,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
DUE
</td>
<td>
Duet Group Forus
</td>
<td>
Utilities
</td>
<td>
6,666,540,000
</td>
<td>
0.4
</td>
</tr>
<tr>
<td>
DXS
</td>
<td>
Dexus Property Group Stapled
</td>
<td>
Real Estate
</td>
<td>
9,311,660,000
</td>
<td>
0.56
</td>
</tr>
<tr>
<td>
ECX
</td>
<td>
Eclipx Group Limited
</td>
<td>
Financials
</td>
<td>
991,813,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
EHE
</td>
<td>
Estia Health Limited
</td>
<td>
Health Care
</td>
<td>
594,709,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
ELD
</td>
<td>
Elders Limited
</td>
<td>
Consumer Staples
</td>
<td>
452,022,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
EML
</td>
<td>
EML Payments Limited
</td>
<td>
Financials
</td>
<td>
448,920,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
EPW
</td>
<td>
Erm Power Limited
</td>
<td>
Utilities
</td>
<td>
323,986,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
EQT
</td>
<td>
EQT Holdings Limited
</td>
<td>
Financials
</td>
<td>
350,966,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
EVN
</td>
<td>
Evolution Mining Limited
</td>
<td>
Materials
</td>
<td>
3,561,030,000
</td>
<td>
0.21
</td>
</tr>
<tr>
<td>
EWC
</td>
<td>
Energy World Corporation LTD
</td>
<td>
Utilities
</td>
<td>
450,883,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
FAR
</td>
<td>
FAR Limited
</td>
<td>
Energy
</td>
<td>
334,615,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
FBU
</td>
<td>
Fletcher Building Limited NZX
</td>
<td>
Materials
</td>
<td>
7,168,870,000
</td>
<td>
0.43
</td>
</tr>
<tr>
<td>
FET
</td>
<td>
Folkestone Education Trust Unit
</td>
<td>
Real Estate
</td>
<td>
633,272,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
FLT
</td>
<td>
Flight Centre Travel Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
3,160,500,000
</td>
<td>
0.19
</td>
</tr>
<tr>
<td>
FMG
</td>
<td>
Fortescue Metals Group LTD
</td>
<td>
Materials
</td>
<td>
18,340,300,000
</td>
<td>
1.1
</td>
</tr>
<tr>
<td>
FNP
</td>
<td>
Freedom Foods Group Limited
</td>
<td>
Consumer Staples
</td>
<td>
865,644,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
FPH
</td>
<td>
Fisher & Paykel Healthcare Corporation Limited NZX
</td>
<td>
Health Care
</td>
<td>
4,647,370,000
</td>
<td>
0.28
</td>
</tr>
<tr>
<td>
FSF
</td>
<td>
Fonterra Shareholders’ Fund Unit NZX
</td>
<td>
Consumer Staples
</td>
<td>
697,194,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
FXJ
</td>
<td>
Fairfax Media Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
2,046,530,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
FXL
</td>
<td>
Flexigroup Limited
</td>
<td>
Financials
</td>
<td>
841,515,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
GBT
</td>
<td>
GBST Holdings Limited
</td>
<td>
Information Technology
</td>
<td>
255,150,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
GDI
</td>
<td>
GDI Property Group Stapled
</td>
<td>
Real Estate
</td>
<td>
533,431,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
GEM
</td>
<td>
G8 Education Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,373,220,000
</td>
<td>
0.08
</td>
</tr>
<tr>
<td>
GHC
</td>
<td>
Generation Healthcare Reit Units
</td>
<td>
Real Estate
</td>
<td>
421,122,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
GMA
</td>
<td>
Genworth Mortgage Insurance Australia Limited
</td>
<td>
Financials
</td>
<td>
1,665,620,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
GMG
</td>
<td>
Goodman Group Stapled
</td>
<td>
Real Estate
</td>
<td>
12,756,400,000
</td>
<td>
0.76
</td>
</tr>
<tr>
<td>
GNC
</td>
<td>
Graincorp Limited
</td>
<td>
Consumer Staples
</td>
<td>
2,187,860,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
GOR
</td>
<td>
Gold Road Resources Limited
</td>
<td>
Materials
</td>
<td>
500,853,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
GOZ
</td>
<td>
Growthpoint Properties Australia Stapled
</td>
<td>
Real Estate
</td>
<td>
2,103,870,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
GPT
</td>
<td>
GPT Group Stapled
</td>
<td>
Real Estate
</td>
<td>
9,043,720,000
</td>
<td>
0.54
</td>
</tr>
<tr>
<td>
GTY
</td>
<td>
Gateway Lifestyle Group Stapled
</td>
<td>
Real Estate
</td>
<td>
646,699,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
GUD
</td>
<td>
G.u.d. Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
897,693,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
GWA
</td>
<td>
GWA Group Limited
</td>
<td>
Industrials
</td>
<td>
781,285,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
GXL
</td>
<td>
Greencross Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
796,804,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
GXY
</td>
<td>
Galaxy Resources Limited
</td>
<td>
Materials
</td>
<td>
962,087,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
HFA
</td>
<td>
HFA Holdings Limited
</td>
<td>
Financials
</td>
<td>
389,155,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
HFR
</td>
<td>
Highfield Resources Limited
</td>
<td>
Materials
</td>
<td>
427,495,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
HGG
</td>
<td>
Henderson Group PLC Cdi 1:1
</td>
<td>
Financials
</td>
<td>
2,875,710,000
</td>
<td>
0.17
</td>
</tr>
<tr>
<td>
HPI
</td>
<td>
Hotel Property Investments Stapled
</td>
<td>
Real Estate
</td>
<td>
414,939,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
HSN
</td>
<td>
Hansen Technologies Limited
</td>
<td>
Information Technology
</td>
<td>
712,165,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
HSO
</td>
<td>
Healthscope Limited
</td>
<td>
Health Care
</td>
<td>
3,973,360,000
</td>
<td>
0.24
</td>
</tr>
<tr>
<td>
HVN
</td>
<td>
Harvey Norman Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
5,718,530,000
</td>
<td>
0.34
</td>
</tr>
<tr>
<td>
IAG
</td>
<td>
Insurance Australia Group Limited
</td>
<td>
Financials
</td>
<td>
14,181,500,000
</td>
<td>
0.85
</td>
</tr>
<tr>
<td>
IDR
</td>
<td>
Industria Reit Stapled
</td>
<td>
Real Estate
</td>
<td>
342,539,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
IEL
</td>
<td>
Idp Education Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
998,677,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
IFL
</td>
<td>
Ioof Holdings Limited
</td>
<td>
Financials
</td>
<td>
2,764,230,000
</td>
<td>
0.17
</td>
</tr>
<tr>
<td>
IFM
</td>
<td>
Infomedia LTD
</td>
<td>
Information Technology
</td>
<td>
226,901,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
IFN
</td>
<td>
Infigen Energy Stapled
</td>
<td>
Utilities
</td>
<td>
702,520,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
IGO
</td>
<td>
Independence Group NL
</td>
<td>
Materials
</td>
<td>
2,534,540,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
ILU
</td>
<td>
Iluka Resources Limited
</td>
<td>
Materials
</td>
<td>
3,043,950,000
</td>
<td>
0.18
</td>
</tr>
<tr>
<td>
IMF
</td>
<td>
IMF Bentham Limited
</td>
<td>
Financials
</td>
<td>
299,584,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
INA
</td>
<td>
Ingenia Communities Group Stapled
</td>
<td>
Real Estate
</td>
<td>
476,268,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
INM
</td>
<td>
Iron Mountain Incorporated Cdi 1:1
</td>
<td>
Real Estate
</td>
<td>
2,146,340,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
IOF
</td>
<td>
Investa Office Fund Stapled
</td>
<td>
Real Estate
</td>
<td>
2,898,300,000
</td>
<td>
0.17
</td>
</tr>
<tr>
<td>
IPD
</td>
<td>
Impedimed Limited
</td>
<td>
Health Care
</td>
<td>
386,258,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
IPH
</td>
<td>
IPH Limited
</td>
<td>
Industrials
</td>
<td>
980,110,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
IPL
</td>
<td>
Incitec Pivot Limited
</td>
<td>
Materials
</td>
<td>
6,073,810,000
</td>
<td>
0.36
</td>
</tr>
<tr>
<td>
IRE
</td>
<td>
Iress Limited
</td>
<td>
Information Technology
</td>
<td>
2,017,390,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
ISD
</td>
<td>
Isentia Group Limited
</td>
<td>
Information Technology
</td>
<td>
574,000,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
ISU
</td>
<td>
Iselect Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
439,875,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
IVC
</td>
<td>
Invocare Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,526,120,000
</td>
<td>
0.09
</td>
</tr>
<tr>
<td>
JBH
</td>
<td>
JB Hi-fi Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
3,206,810,000
</td>
<td>
0.19
</td>
</tr>
<tr>
<td>
JHC
</td>
<td>
Japara Healthcare Limited
</td>
<td>
Health Care
</td>
<td>
599,216,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
JHX
</td>
<td>
James Hardie Industries PLC Cdi 1:1
</td>
<td>
Materials
</td>
<td>
9,685,290,000
</td>
<td>
0.58
</td>
</tr>
<tr>
<td>
KAR
</td>
<td>
Karoon Gas Australia Limited
</td>
<td>
Energy
</td>
<td>
441,229,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
KMD
</td>
<td>
Kathmandu Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
375,769,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
LLC
</td>
<td>
Lendlease Group Stapled
</td>
<td>
Real Estate
</td>
<td>
8,523,310,000
</td>
<td>
0.51
</td>
</tr>
<tr>
<td>
LNG
</td>
<td>
Liquefied Natural Gas Limited
</td>
<td>
Energy
</td>
<td>
345,619,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
LNK
</td>
<td>
Link Administration Holdings Limited
</td>
<td>
Information Technology
</td>
<td>
2,723,670,000
</td>
<td>
0.16
</td>
</tr>
<tr>
<td>
LYC
</td>
<td>
Lynas Corporation Limited
</td>
<td>
Materials
</td>
<td>
257,026,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
MFG
</td>
<td>
Magellan Financial Group Limited
</td>
<td>
Financials
</td>
<td>
4,090,260,000
</td>
<td>
0.24
</td>
</tr>
<tr>
<td>
MGC
</td>
<td>
MG Unit Trust Units
</td>
<td>
Consumer Staples
</td>
<td>
189,497,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
MGR
</td>
<td>
Mirvac Group Stapled
</td>
<td>
Real Estate
</td>
<td>
7,891,890,000
</td>
<td>
0.47
</td>
</tr>
<tr>
<td>
MIN
</td>
<td>
Mineral Resources Limited
</td>
<td>
Materials
</td>
<td>
2,266,880,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
MLD
</td>
<td>
Maca Limited
</td>
<td>
Materials
</td>
<td>
401,899,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
MLX
</td>
<td>
Metals X Limited
</td>
<td>
Materials
</td>
<td>
341,231,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
MMS
</td>
<td>
Mcmillan Shakespeare Limited
</td>
<td>
Industrials
</td>
<td>
904,435,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
MND
</td>
<td>
Monadelphous Group Limited
</td>
<td>
Industrials
</td>
<td>
1,053,870,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
MNS
</td>
<td>
Magnis Resources Limited
</td>
<td>
Materials
</td>
<td>
339,749,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
MOC
</td>
<td>
Mortgage Choice Limited
</td>
<td>
Financials
</td>
<td>
298,651,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
MPL
</td>
<td>
Medibank Private Limited
</td>
<td>
Financials
</td>
<td>
7,766,290,000
</td>
<td>
0.46
</td>
</tr>
<tr>
<td>
MQA
</td>
<td>
Macquarie Atlas Roads Group Stapled
</td>
<td>
Industrials
</td>
<td>
2,677,160,000
</td>
<td>
0.16
</td>
</tr>
<tr>
<td>
MQG
</td>
<td>
Macquarie Group Limited
</td>
<td>
Financials
</td>
<td>
29,651,400,000
</td>
<td>
1.78
</td>
</tr>
<tr>
<td>
MSB
</td>
<td>
Mesoblast Limited
</td>
<td>
Health Care
</td>
<td>
545,765,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
MTR
</td>
<td>
Mantra Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
915,396,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
MTS
</td>
<td>
Metcash Limited
</td>
<td>
Consumer Staples
</td>
<td>
2,224,460,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
MVF
</td>
<td>
Monash Ivf Group Limited
</td>
<td>
Health Care
</td>
<td>
482,561,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
MYO
</td>
<td>
Myob Group Limited
</td>
<td>
Information Technology
</td>
<td>
2,193,740,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
MYR
</td>
<td>
Myer Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,133,360,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
MYX
</td>
<td>
Mayne Pharma Group Limited
</td>
<td>
Health Care
</td>
<td>
2,016,060,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
NAB
</td>
<td>
National Australia Bank Limited
</td>
<td>
Financials
</td>
<td>
81,896,800,000
</td>
<td>
4.9
</td>
</tr>
<tr>
<td>
NAN
</td>
<td>
Nanosonics Limited
</td>
<td>
Health Care
</td>
<td>
925,950,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
NCM
</td>
<td>
Newcrest Mining Limited
</td>
<td>
Materials
</td>
<td>
15,526,400,000
</td>
<td>
0.93
</td>
</tr>
<tr>
<td>
NEC
</td>
<td>
Nine Entertainment Co. Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
928,012,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
NHF
</td>
<td>
Nib Holdings Limited
</td>
<td>
Financials
</td>
<td>
2,085,270,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
NSR
</td>
<td>
National Storage Reit Stapled
</td>
<td>
Real Estate
</td>
<td>
752,272,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
NST
</td>
<td>
Northern Star Resources LTD
</td>
<td>
Materials
</td>
<td>
2,173,960,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
NTC
</td>
<td>
Netcomm Wireless Limited
</td>
<td>
Information Technology
</td>
<td>
314,609,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
NUF
</td>
<td>
Nufarm Limited
</td>
<td>
Materials
</td>
<td>
2,443,350,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
NVT
</td>
<td>
Navitas Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,809,900,000
</td>
<td>
0.11
</td>
</tr>
<tr>
<td>
NWS
</td>
<td>
News Corporation. B Voting
</td>
<td>
Consumer Discretionary
</td>
<td>
713,820,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
NXT
</td>
<td>
Nextdc Limited
</td>
<td>
Information Technology
</td>
<td>
1,034,020,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
OFX
</td>
<td>
OFX Group Limited
</td>
<td>
Financials
</td>
<td>
403,200,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
OGC
</td>
<td>
Oceanagold Corporation Cdi 1:1
</td>
<td>
Materials
</td>
<td>
2,566,080,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
OML
</td>
<td>
Ooh!media Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
750,111,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
ORA
</td>
<td>
Orora Limited
</td>
<td>
Materials
</td>
<td>
3,607,990,000
</td>
<td>
0.22
</td>
</tr>
<tr>
<td>
ORE
</td>
<td>
Orocobre Limited
</td>
<td>
Materials
</td>
<td>
952,752,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
ORG
</td>
<td>
Origin Energy Limited
</td>
<td>
Energy
</td>
<td>
11,564,700,000
</td>
<td>
0.69
</td>
</tr>
<tr>
<td>
ORI
</td>
<td>
Orica Limited
</td>
<td>
Materials
</td>
<td>
6,650,790,000
</td>
<td>
0.4
</td>
</tr>
<tr>
<td>
OSH
</td>
<td>
Oil Search Limited 10T
</td>
<td>
Energy
</td>
<td>
10,917,700,000
</td>
<td>
0.65
</td>
</tr>
<tr>
<td>
OZL
</td>
<td>
Oz Minerals Limited
</td>
<td>
Materials
</td>
<td>
2,394,380,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
PDN
</td>
<td>
Paladin Energy LTD
</td>
<td>
Energy
</td>
<td>
147,305,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
PGH
</td>
<td>
Pact Group Holdings LTD
</td>
<td>
Materials
</td>
<td>
2,019,830,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
PLS
</td>
<td>
Pilbara Minerals Limited
</td>
<td>
Materials
</td>
<td>
631,223,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
PMV
</td>
<td>
Premier Investments Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
2,273,320,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
PPT
</td>
<td>
Perpetual Limited
</td>
<td>
Financials
</td>
<td>
2,270,970,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
PRG
</td>
<td>
Programmed Maintenance Services Limited
</td>
<td>
Industrials
</td>
<td>
495,320,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
PRU
</td>
<td>
Perseus Mining Limited
</td>
<td>
Materials
</td>
<td>
345,659,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
PRY
</td>
<td>
Primary Health Care Limited
</td>
<td>
Health Care
</td>
<td>
2,127,450,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
PTM
</td>
<td>
Platinum Asset Management Limited
</td>
<td>
Financials
</td>
<td>
3,097,660,000
</td>
<td>
0.19
</td>
</tr>
<tr>
<td>
QAN
</td>
<td>
Qantas Airways Limited
</td>
<td>
Industrials
</td>
<td>
6,154,980,000
</td>
<td>
0.37
</td>
</tr>
<tr>
<td>
QBE
</td>
<td>
QBE Insurance Group Limited
</td>
<td>
Financials
</td>
<td>
17,035,200,000
</td>
<td>
1.02
</td>
</tr>
<tr>
<td>
QUB
</td>
<td>
Qube Holdings Limited
</td>
<td>
Industrials
</td>
<td>
3,542,670,000
</td>
<td>
0.21
</td>
</tr>
<tr>
<td>
RCG
</td>
<td>
RCG Corporation Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
803,817,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
RCR
</td>
<td>
RCR Tomlinson Limited
</td>
<td>
Industrials
</td>
<td>
384,899,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
REA
</td>
<td>
REA Group LTD
</td>
<td>
Consumer Discretionary
</td>
<td>
7,274,600,000
</td>
<td>
0.44
</td>
</tr>
<tr>
<td>
REG
</td>
<td>
Regis Healthcare Limited
</td>
<td>
Health Care
</td>
<td>
1,375,640,000
</td>
<td>
0.08
</td>
</tr>
<tr>
<td>
RFF
</td>
<td>
Rural Funds Group Stapled
</td>
<td>
Real Estate
</td>
<td>
361,802,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
RFG
</td>
<td>
Retail Food Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,235,900,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
RHC
</td>
<td>
Ramsay Health Care Limited
</td>
<td>
Health Care
</td>
<td>
13,802,100,000
</td>
<td>
0.83
</td>
</tr>
<tr>
<td>
RIC
</td>
<td>
Ridley Corporation Limited
</td>
<td>
Consumer Staples
</td>
<td>
384,771,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
RIO
</td>
<td>
RIO Tinto Limited
</td>
<td>
Materials
</td>
<td>
25,409,100,000
</td>
<td>
1.52
</td>
</tr>
<tr>
<td>
RMD
</td>
<td>
Resmed Inc Cdi 10:1
</td>
<td>
Health Care
</td>
<td>
12,088,200,000
</td>
<td>
0.72
</td>
</tr>
<tr>
<td>
RRL
</td>
<td>
Regis Resources Limited
</td>
<td>
Materials
</td>
<td>
1,487,950,000
</td>
<td>
0.09
</td>
</tr>
<tr>
<td>
RSG
</td>
<td>
Resolute Mining Limited
</td>
<td>
Materials
</td>
<td>
958,078,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
RWC
</td>
<td>
Reliance Worldwide Corporation Limited
</td>
<td>
Industrials
</td>
<td>
1,680,000,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
S32
</td>
<td>
SOUTH32 Limited
</td>
<td>
Materials
</td>
<td>
14,640,300,000
</td>
<td>
0.88
</td>
</tr>
<tr>
<td>
SAR
</td>
<td>
Saracen Mineral Holdings Limited
</td>
<td>
Materials
</td>
<td>
799,048,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SBM
</td>
<td>
ST Barbara Limited
</td>
<td>
Materials
</td>
<td>
1,014,560,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
SCG
</td>
<td>
Scentre Group Stapled
</td>
<td>
Real Estate
</td>
<td>
24,704,700,000
</td>
<td>
1.48
</td>
</tr>
<tr>
<td>
SCP
</td>
<td>
Shopping Centres Australasia Property Group Stapled
</td>
<td>
Real Estate
</td>
<td>
1,622,440,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
SDA
</td>
<td>
Speedcast International Limited
</td>
<td>
Telecommunication Services
</td>
<td>
831,140,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SDF
</td>
<td>
Steadfast Group Limited
</td>
<td>
Financials
</td>
<td>
1,656,950,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
SEH
</td>
<td>
Sino Gas & Energy Holdings Limited
</td>
<td>
Energy
</td>
<td>
238,553,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
SEK
</td>
<td>
Seek Limited
</td>
<td>
Industrials
</td>
<td>
5,175,350,000
</td>
<td>
0.31
</td>
</tr>
<tr>
<td>
SFR
</td>
<td>
Sandfire Resources NL
</td>
<td>
Materials
</td>
<td>
889,630,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SGF
</td>
<td>
SG Fleet Group Limited
</td>
<td>
Industrials
</td>
<td>
842,593,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SGM
</td>
<td>
Sims Metal Management Limited
</td>
<td>
Materials
</td>
<td>
2,533,180,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
SGP
</td>
<td>
Stockland Stapled
</td>
<td>
Real Estate
</td>
<td>
11,015,100,000
</td>
<td>
0.66
</td>
</tr>
<tr>
<td>
SGR
</td>
<td>
The Star Entertainment Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
4,268,730,000
</td>
<td>
0.26
</td>
</tr>
<tr>
<td>
SHL
</td>
<td>
Sonic Healthcare Limited
</td>
<td>
Health Care
</td>
<td>
8,908,830,000
</td>
<td>
0.53
</td>
</tr>
<tr>
<td>
SHV
</td>
<td>
Select Harvests Limited
</td>
<td>
Consumer Staples
</td>
<td>
487,950,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
SIP
</td>
<td>
Sigma Pharmaceuticals Limited
</td>
<td>
Health Care
</td>
<td>
1,390,650,000
</td>
<td>
0.08
</td>
</tr>
<tr>
<td>
SIQ
</td>
<td>
Smartgroup Corporation LTD
</td>
<td>
Industrials
</td>
<td>
762,939,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SIV
</td>
<td>
Silver Chef Limited
</td>
<td>
Industrials
</td>
<td>
319,297,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
SKC
</td>
<td>
Skycity Entertainment Group Limited NZX
</td>
<td>
Consumer Discretionary
</td>
<td>
2,486,980,000
</td>
<td>
0.15
</td>
</tr>
<tr>
<td>
SKI
</td>
<td>
Spark Infrastructure Group Forus
</td>
<td>
Utilities
</td>
<td>
4,003,190,000
</td>
<td>
0.24
</td>
</tr>
<tr>
<td>
SKT
</td>
<td>
SKY Network Television Limited NZ
</td>
<td>
Consumer Discretionary
</td>
<td>
1,723,890,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
SLK
</td>
<td>
Sealink Travel Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
464,297,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
SPK
</td>
<td>
Spark New Zealand Limited NZX
</td>
<td>
Telecommunication Services
</td>
<td>
6,029,170,000
</td>
<td>
0.36
</td>
</tr>
<tr>
<td>
SPL
</td>
<td>
Starpharma Holdings Limited
</td>
<td>
Health Care
</td>
<td>
267,189,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
SPO
</td>
<td>
Spotless Group Holdings Limited
</td>
<td>
Industrials
</td>
<td>
1,087,310,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
SRX
</td>
<td>
Sirtex Medical Limited
</td>
<td>
Health Care
</td>
<td>
817,559,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
SSM
</td>
<td>
Service Stream Limited
</td>
<td>
Industrials
</td>
<td>
401,708,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
STO
</td>
<td>
Santos Limited
</td>
<td>
Energy
</td>
<td>
8,168,810,000
</td>
<td>
0.49
</td>
</tr>
<tr>
<td>
SUL
</td>
<td>
Super Retail Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
2,041,430,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
SUN
</td>
<td>
Suncorp Group Limited
</td>
<td>
Financials
</td>
<td>
17,443,500,000
</td>
<td>
1.04
</td>
</tr>
<tr>
<td>
SVW
</td>
<td>
Seven Group Holdings Limited
</td>
<td>
Industrials
</td>
<td>
2,204,930,000
</td>
<td>
0.13
</td>
</tr>
<tr>
<td>
SWM
</td>
<td>
Seven West Media Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,213,970,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
SXL
</td>
<td>
Southern Cross Media Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,188,130,000
</td>
<td>
0.07
</td>
</tr>
<tr>
<td>
SXY
</td>
<td>
Senex Energy Limited
</td>
<td>
Energy
</td>
<td>
305,906,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
SYD
</td>
<td>
Sydney Airport Forus
</td>
<td>
Industrials
</td>
<td>
13,476,500,000
</td>
<td>
0.81
</td>
</tr>
<tr>
<td>
SYR
</td>
<td>
Syrah Resources Limited
</td>
<td>
Materials
</td>
<td>
804,460,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
TAH
</td>
<td>
Tabcorp Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
4,017,630,000
</td>
<td>
0.24
</td>
</tr>
<tr>
<td>
TCL
</td>
<td>
Transurban Group Stapled
</td>
<td>
Industrials
</td>
<td>
21,081,100,000
</td>
<td>
1.26
</td>
</tr>
<tr>
<td>
TEN
</td>
<td>
TEN Network Holdings Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
334,995,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
TFC
</td>
<td>
TFS Corporation Limited
</td>
<td>
Materials
</td>
<td>
647,732,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
TGA
</td>
<td>
Thorn Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
300,588,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
TGR
</td>
<td>
Tassal Group Limited
</td>
<td>
Consumer Staples
</td>
<td>
623,669,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
TIX
</td>
<td>
360 Capital Industrial Fund Ord Unit
</td>
<td>
Real Estate
</td>
<td>
532,013,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
TLS
</td>
<td>
Telstra Corporation Limited
</td>
<td>
Telecommunication Services
</td>
<td>
60,911,800,000
</td>
<td>
3.65
</td>
</tr>
<tr>
<td>
TME
</td>
<td>
Trade Me Group Limited NZX
</td>
<td>
Consumer Discretionary
</td>
<td>
1,926,230,000
</td>
<td>
0.12
</td>
</tr>
<tr>
<td>
TNE
</td>
<td>
Technology One Limited
</td>
<td>
Information Technology
</td>
<td>
1,770,140,000
</td>
<td>
0.11
</td>
</tr>
<tr>
<td>
TOX
</td>
<td>
TOX Free Solutions Limited
</td>
<td>
Industrials
</td>
<td>
502,320,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
TPM
</td>
<td>
TPG Telecom Limited
</td>
<td>
Telecommunication Services
</td>
<td>
5,786,590,000
</td>
<td>
0.35
</td>
</tr>
<tr>
<td>
TRS
</td>
<td>
The Reject Shop Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
244,729,000
</td>
<td>
0.01
</td>
</tr>
<tr>
<td>
TTS
</td>
<td>
Tatts Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
6,578,970,000
</td>
<td>
0.39
</td>
</tr>
<tr>
<td>
TWE
</td>
<td>
Treasury Wine Estates Limited
</td>
<td>
Consumer Staples
</td>
<td>
7,883,280,000
</td>
<td>
0.47
</td>
</tr>
<tr>
<td>
VCX
</td>
<td>
Vicinity Centres Stapled
</td>
<td>
Real Estate
</td>
<td>
11,836,400,000
</td>
<td>
0.71
</td>
</tr>
<tr>
<td>
VLW
</td>
<td>
Villa World Limited
</td>
<td>
Real Estate
</td>
<td>
258,995,000
</td>
<td>
0.02
</td>
</tr>
<tr>
<td>
VOC
</td>
<td>
Vocus Communications Limited
</td>
<td>
Telecommunication Services
</td>
<td>
2,400,770,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
VRL
</td>
<td>
Village Roadshow Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
737,762,000
</td>
<td>
0.04
</td>
</tr>
<tr>
<td>
VRT
</td>
<td>
Virtus Health Limited
</td>
<td>
Health Care
</td>
<td>
501,551,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
VTG
</td>
<td>
Vita Group Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
490,858,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
VVR
</td>
<td>
Viva Energy Reit Stapled
</td>
<td>
Real Estate
</td>
<td>
1,656,360,000
</td>
<td>
0.1
</td>
</tr>
<tr>
<td>
WBA
</td>
<td>
Webster Limited
</td>
<td>
Consumer Staples
</td>
<td>
474,619,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
WBC
</td>
<td>
Westpac Banking Corporation
</td>
<td>
Financials
</td>
<td>
109,426,000,000
</td>
<td>
6.55
</td>
</tr>
<tr>
<td>
WEB
</td>
<td>
Webjet Limited
</td>
<td>
Consumer Discretionary
</td>
<td>
1,037,770,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
WES
</td>
<td>
Wesfarmers Limited
</td>
<td>
Consumer Staples
</td>
<td>
47,657,800,000
</td>
<td>
2.85
</td>
</tr>
<tr>
<td>
WFD
</td>
<td>
Westfield Corporation Stapled
</td>
<td>
Real Estate
</td>
<td>
19,492,500,000
</td>
<td>
1.17
</td>
</tr>
<tr>
<td>
WGX
</td>
<td>
Westgold Resources Limited
</td>
<td>
Materials
</td>
<td>
502,708,000
</td>
<td>
0.03
</td>
</tr>
<tr>
<td>
WHC
</td>
<td>
Whitehaven Coal Limited
</td>
<td>
Energy
</td>
<td>
2,677,980,000
</td>
<td>
0.16
</td>
</tr>
<tr>
<td>
WOR
</td>
<td>
Worleyparsons Limited
</td>
<td>
Energy
</td>
<td>
2,395,430,000
</td>
<td>
0.14
</td>
</tr>
<tr>
<td>
WOW
</td>
<td>
Woolworths Limited
</td>
<td>
Consumer Staples
</td>
<td>
31,044,700,000
</td>
<td>
1.86
</td>
</tr>
<tr>
<td>
WPL
</td>
<td>
Woodside Petroleum Limited
</td>
<td>
Energy
</td>
<td>
26,250,600,000
</td>
<td>
1.57
</td>
</tr>
<tr>
<td>
WPP
</td>
<td>
WPP Aunz LTD
</td>
<td>
Consumer Discretionary
</td>
<td>
1,031,100,000
</td>
<td>
0.06
</td>
</tr>
<tr>
<td>
WSA
</td>
<td>
Western Areas Limited
</td>
<td>
Materials
</td>
<td>
835,754,000
</td>
<td>
0.05
</td>
</tr>
<tr>
<td>
WTC
</td>
<td>
Wisetech Global Limited
</td>
<td>
Information Technology
</td>
<td>
1,642,050,000
</td>
<td>
0.1
</td>
</tr>
</tbody>
</table>
<hr/>
<p>
</p>
<h2>
2016 Archived Lists
</h2>
<p>
<a href="/wp-content/uploads/csv/20161201-asx300.csv">
1 December
</a>
<br/>
<a href="/wp-content/uploads/csv/20161101-asx300.csv">
1 November
</a>
<br/>
<a href="/wp-content/uploads/csv/20161010-asx300.csv">
10 October
</a>
<br/>
<a href="/wp-content/uploads/csv/20160901-asx300.csv">
1 September
</a>
<br/>
<a href="/wp-content/uploads/csv/20160807-asx300.csv">
7 August
</a>
</p>
<hr/>
<p>
</p>
<h2 class="p1">
<span class="s1" id="sector-breakdown">
<b>
Sector breakdown
</b>
</span>
</h2>
<p class="p1">
All S&P/ASX Indices use the Global Industry Classification Standard (GICS) to categorise constituents according to their principal business activity.
</p>
<p>
Data updated: 10 October 2016
</p>
<p class="mobile-only">
See the Excel spreadsheet for Sector Breakdown data.
</p>
<div>
<p>
<!--Div that will hold the pie chart-->
</p>
<div id="chart_div_pie" style="height: 300px;">
</div>
</div>
<h2 class="p1">
</h2>
<h2 class="p1">
</h2>
<h2 class="p1">
<b>
</b>
</h2>
<h2 class="p1">
<span class="s1" id="fundamentals">
<b>
PE Ratio & Dividend Yield
</b>
</span>
</h2>
<p class="p1">
Fundamental data for the S&P/ASX 300 Index is weight-adjusted by market capitalisation. Companies with zero or negative values are ignored.
</p>
<p class="p1">
Data updated: 7 August 2016
</p>
<p>
<!--Div that will hold the pie chart-->
</p>
<div id="chart_div_column">
</div>
<p>
</p>
<h2 class="p1">
<span class="s1" id="etf">
<b>
Exchange Traded Fund (ETF)
</b>
</span>
</h2>
<p class="p1">
ETFs are managed funds that track a benchmark. They trade on the ASX like ordinary shares using their ticker code. The goal of an index fund is to replicate the performance of the underlying index, less fees and expenses.
</p>
<p class="p1">
As at 10 October 2016, the Vanguard Australian Shares Index ETF (VAS)
</p>
<span class="s1">
is the only ETF that tracks the performance of the S&P/ASX 300 Index.
</span>
<div class="twocol-one">
<table class="etf">
<tbody>
<tr>
<th colspan="2">
Vanguard Australian Shares Index ETF (VAS)
</th>
</tr>
<tr>
<td>
Manager:
</td>
<td>
Vanguard
</td>
</tr>
<tr>
<td>
Inception:
</td>
<td>
4 May 2009
</td>
</tr>
<tr>
<td>
Mgmt Fee:
</td>
<td>
0.15%
</td>
</tr>
<tr>
<td>
Fact Sheet:
</td>
<td>
<a href="https://static.vgcontent.info/crp/intl/auw/docs/etfs/profiles/VAS_profile.pdf?20160721|091500" target="_blank">
Link
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="twocol-one last">
<p>
<center>
<strong>
VAS vs S&P/ASX 300 Index
</strong>
</center>
<br/>
<a data-rel="lightbox" href="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=off&z=l&c=%5EAXKO">
<img alt="ASX300 Index fund ETF vs S&P/ASX 300 Index" src="https://chart.finance.yahoo.com/z?s=VAS.AX&t=1y&q=l&l=on&z=l&c=%5EAXKO&a=s&lang=en-AU&region=AU" width="360"/>
</a>
</p>
</div>
<p>
</p>
<p>
</p>
<h2>
Additional Information
</h2>
<p>
<img class="link-icons" src="/wp-content/uploads/sandp.png">
<a href="http://au.spindices.com/idsenhancedfactsheet/file.pdf?calcFrequency=M&force_download=true&indexId=124612" target="_blank">
S&P/ASX 300 FactSheet (PDF)
</a>
</img>
</p>
<p>
<img class="link-icons" src="/wp-content/uploads/market-index-icon.png">
<a href="http://www.marketindex.com.au/asx300" target="_blank">
S&P/ASX 300 Share Prices & Charts
</a>
</img>
</p>
<!-- .entry-content -->
<!-- #post-## -->
<div class="site-sidebar" id="sidebar">
<div class="widget widget_text" id="text-2">
<div class="textwidget">
<p>
<img src="/wp-content/uploads/logo.png" style="width:120px;margin-bottom:10px;"/>
</p>
<p>
ASX 300 List is an independent aggregator of publicly available S&P;/ASX 300 information.
</p>
<p>
Download constituent data, GICS Sectors and market capitalisation in Excel format.
</p>
<p>
Created with love in Sydney.
<a href="/contact-us">
<font style="color:#0F7FAF">
Contact us
</font>
</a>
.
</p>
</div>
<div class="clear">
</div>
</div>
<div class="widget widget_text" id="text-3">
<div class="textwidget">
<img src="/wp-content/uploads/sandp.png" style="width:60px;float:left;margin-right:15px;"/>
<p style="text-align:left;">
Standard & Poor's (S&P;) manage the index methodology.
</p>
</div>
<div class="clear">
</div>
</div>
<div class="widget widget_text" id="text-4">
<div class="textwidget">
<img src="/wp-content/uploads/asx-logo.png" style="width:60px;float:left;margin-right:15px;"/>
<p style="text-align:left;">
Australian Securities Exchange (ASX) lists the companies.
</p>
</div>
<div class="clear">
</div>
</div>
<div class="widget widget_text" id="text-5">
<div class="textwidget">
<img src="/wp-content/uploads/market-index-icon.png" style="width:60px;float:left;margin-right:15px;"/>
<p style="text-align:left;">
Market Index provides company information and shares prices on all ASX stocks.
</p>
</div>
<div class="clear">
</div>
</div>
</div>
<!-- #main -->
<!-- ./inner-wrap -->
<footer class="site-footer" id="colophon" role="contentinfo">
<div class="footer-menu">
<div class="menu-footer">
<ul class="menu" id="menu-footer">
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26" id="menu-item-26">
<a href="https://www.asx300list.com/contact-us/">
Contact Us
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24" id="menu-item-24">
<a href="https://www.asx300list.com/privacy-policy/">
Privacy Policy
</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25" id="menu-item-25">
<a href="https://www.asx300list.com/disclaimer/">
Disclaimer
</a>
</li>
</ul>
</div>
</div>
<div class="site-info">
Copyright © 2016 ASX300list.com
</div>
<!-- .site-info -->
</footer>
<!-- #colophon -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-26193949-5', 'auto');
ga('send', 'pageview');
</script>
<script>
(function($){$(document).ready(function(){});})(jQuery);
</script>
<script src="https://www.asx300list.com/wp-content/plugins/responsive-lightbox/assets/swipebox/js/jquery.swipebox.min.js?ver=1.6.10" type="text/javascript">
</script>
<script type="text/javascript">
/* <![CDATA[ */
var rlArgs = {"script":"swipebox","selector":"lightbox","customEvents":"","activeGalleries":"1","animation":"1","hideCloseButtonOnMobile":"0","removeBarsOnMobile":"0","hideBars":"1","hideBarsDelay":"5000","videoMaxWidth":"1080","useSVG":"1","loopAtEnd":"0"};
/* ]]> */
</script>
<script src="https://www.asx300list.com/wp-content/plugins/responsive-lightbox/js/front.js?ver=1.6.10" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-includes/js/comment-reply.min.js?ver=4.7.2" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/jquery.mmenu.min.all.js?ver=1.2.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/flickity.pkgd.min.js?ver=1.2.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/jquery.fitvids.js?ver=1.2.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/superfish.min.js?ver=1.2.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/search_button.js?ver=1.2.1" type="text/javascript">
</script>
<script type="text/javascript">
/* <![CDATA[ */
var zoomOptions = {"slideshow_auto":"1","slideshow_speed":"3000"};
/* ]]> */
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/js/functions.js?ver=1.2.1" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/js/galleria.js" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-content/themes/foodica/functions/wpzoom/assets/js/wzslider.js" type="text/javascript">
</script>
<script src="https://www.asx300list.com/wp-includes/js/wp-embed.min.js?ver=4.7.2" type="text/javascript">
</script>
In [4]:
table = soup.find('table', {'class' : 'tableizer-table sortable'})
print(table)
<table class="tableizer-table sortable">
<thead>
<tr class="tableizer-firstrow">
<th>Code</th>
<th>Company</th>
<th>Sector</th>
<th>Market Cap</th>
<th>Weight(%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>A2M</td>
<td>The A2 Milk Company Limited NZ</td>
<td>Consumer Staples</td>
<td>1,460,370,000</td>
<td>0.09</td>
</tr>
<tr>
<td>AAC</td>
<td>Australian Agricultural Company Limited</td>
<td>Consumer Staples</td>
<td>947,014,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AAD</td>
<td>Ardent Leisure Group Stapled</td>
<td>Consumer Discretionary</td>
<td>1,097,680,000</td>
<td>0.07</td>
</tr>
<tr>
<td>ABC</td>
<td>Adelaide Brighton Limited</td>
<td>Materials</td>
<td>3,527,620,000</td>
<td>0.21</td>
</tr>
<tr>
<td>ABP</td>
<td>Abacus Property Group Stapled</td>
<td>Real Estate</td>
<td>1,728,420,000</td>
<td>0.1</td>
</tr>
<tr>
<td>ACX</td>
<td>Aconex Limited</td>
<td>Information Technology</td>
<td>1,003,640,000</td>
<td>0.06</td>
</tr>
<tr>
<td>ADH</td>
<td>Adairs Limited</td>
<td>Consumer Discretionary</td>
<td>265,400,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AGI</td>
<td>Ainsworth Game Technology Limited</td>
<td>Consumer Discretionary</td>
<td>698,591,000</td>
<td>0.04</td>
</tr>
<tr>
<td>AGL</td>
<td>AGL Energy Limited</td>
<td>Utilities</td>
<td>14,851,400,000</td>
<td>0.89</td>
</tr>
<tr>
<td>AHG</td>
<td>Automotive Holdings Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,309,910,000</td>
<td>0.08</td>
</tr>
<tr>
<td>AHY</td>
<td>Asaleo Care Limited</td>
<td>Consumer Staples</td>
<td>821,324,000</td>
<td>0.05</td>
</tr>
<tr>
<td>AIA</td>
<td>Auckland International Airport Limited NZX</td>
<td>Industrials</td>
<td>7,323,990,000</td>
<td>0.44</td>
</tr>
<tr>
<td>AJA</td>
<td>Astro Japan Property Group Forus</td>
<td>Real Estate</td>
<td>403,339,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AJX</td>
<td>Alexium International Group Limited</td>
<td>Materials</td>
<td>184,243,000</td>
<td>0.01</td>
</tr>
<tr>
<td>ALL</td>
<td>Aristocrat Leisure Limited</td>
<td>Consumer Discretionary</td>
<td>9,897,430,000</td>
<td>0.59</td>
</tr>
<tr>
<td>ALQ</td>
<td>Als Limited</td>
<td>Industrials</td>
<td>3,045,500,000</td>
<td>0.18</td>
</tr>
<tr>
<td>ALU</td>
<td>Altium Limited</td>
<td>Information Technology</td>
<td>1,053,450,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AMA</td>
<td>AMA Group Limited</td>
<td>Consumer Discretionary</td>
<td>466,583,000</td>
<td>0.03</td>
</tr>
<tr>
<td>AMC</td>
<td>Amcor Limited</td>
<td>Materials</td>
<td>17,314,200,000</td>
<td>1.04</td>
</tr>
<tr>
<td>AMP</td>
<td>AMP Limited</td>
<td>Financials</td>
<td>14,907,000,000</td>
<td>0.89</td>
</tr>
<tr>
<td>ANN</td>
<td>Ansell Limited</td>
<td>Health Care</td>
<td>3,643,430,000</td>
<td>0.22</td>
</tr>
<tr>
<td>ANZ</td>
<td>Australia And New Zealand Banking Group Limited</td>
<td>Financials</td>
<td>89,314,200,000</td>
<td>5.35</td>
</tr>
<tr>
<td>AOG</td>
<td>Aveo Group Stapled</td>
<td>Real Estate</td>
<td>1,947,480,000</td>
<td>0.12</td>
</tr>
<tr>
<td>APA</td>
<td>APA Group Stapled</td>
<td>Utilities</td>
<td>9,549,610,000</td>
<td>0.57</td>
</tr>
<tr>
<td>API</td>
<td>Australian Pharmaceutical Industries Limited</td>
<td>Health Care</td>
<td>1,008,990,000</td>
<td>0.06</td>
</tr>
<tr>
<td>APN</td>
<td>APN News & Media Limited</td>
<td>Consumer Discretionary</td>
<td>873,284,000</td>
<td>0.05</td>
</tr>
<tr>
<td>APO</td>
<td>Apn Outdoor Group Limited</td>
<td>Consumer Discretionary</td>
<td>984,692,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AQG</td>
<td>Alacer Gold Corp Cdi 1:1</td>
<td>Materials</td>
<td>195,595,000</td>
<td>0.01</td>
</tr>
<tr>
<td>ARB</td>
<td>ARB Corporation Limited</td>
<td>Consumer Discretionary</td>
<td>1,397,600,000</td>
<td>0.08</td>
</tr>
<tr>
<td>ARF</td>
<td>Arena Reit Stapled</td>
<td>Real Estate</td>
<td>436,886,000</td>
<td>0.03</td>
</tr>
<tr>
<td>ASB</td>
<td>Austal Limited</td>
<td>Industrials</td>
<td>607,433,000</td>
<td>0.04</td>
</tr>
<tr>
<td>AST</td>
<td>Ausnet Services Limited</td>
<td>Utilities</td>
<td>5,692,980,000</td>
<td>0.34</td>
</tr>
<tr>
<td>ASX</td>
<td>ASX Limited</td>
<td>Financials</td>
<td>9,629,420,000</td>
<td>0.58</td>
</tr>
<tr>
<td>AVN</td>
<td>Aventus Retail Property Fund Unit</td>
<td>Real Estate</td>
<td>930,532,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AWC</td>
<td>Alumina Limited</td>
<td>Materials</td>
<td>5,270,110,000</td>
<td>0.32</td>
</tr>
<tr>
<td>AWE</td>
<td>AWE Limited</td>
<td>Energy</td>
<td>327,457,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AYS</td>
<td>Amaysim Australia Limited</td>
<td>Telecommunication Services</td>
<td>365,136,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AZJ</td>
<td>Aurizon Holdings Limited</td>
<td>Industrials</td>
<td>10,361,300,000</td>
<td>0.62</td>
</tr>
<tr>
<td>BAL</td>
<td>Bellamy’s Australia Limited</td>
<td>Consumer Staples</td>
<td>645,866,000</td>
<td>0.04</td>
</tr>
<tr>
<td>BAP</td>
<td>Bapcor Limited</td>
<td>Consumer Discretionary</td>
<td>1,644,680,000</td>
<td>0.1</td>
</tr>
<tr>
<td>BBN</td>
<td>Baby Bunting Group Limited</td>
<td>Consumer Discretionary</td>
<td>305,501,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BDR</td>
<td>Beadell Resources Limited</td>
<td>Materials</td>
<td>285,543,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BEN</td>
<td>Bendigo And Adelaide Bank Limited</td>
<td>Financials</td>
<td>6,007,070,000</td>
<td>0.36</td>
</tr>
<tr>
<td>BGA</td>
<td>Bega Cheese Limited</td>
<td>Consumer Staples</td>
<td>647,036,000</td>
<td>0.04</td>
</tr>
<tr>
<td>BHP</td>
<td>BHP Billiton Limited</td>
<td>Materials</td>
<td>80,485,000,000</td>
<td>4.82</td>
</tr>
<tr>
<td>BKL</td>
<td>Blackmores Limited</td>
<td>Consumer Staples</td>
<td>1,780,460,000</td>
<td>0.11</td>
</tr>
<tr>
<td>BKW</td>
<td>Brickworks Limited</td>
<td>Materials</td>
<td>2,026,350,000</td>
<td>0.12</td>
</tr>
<tr>
<td>BLA</td>
<td>Blue SKY Alternative Investments Limited</td>
<td>Financials</td>
<td>471,915,000</td>
<td>0.03</td>
</tr>
<tr>
<td>BLD</td>
<td>Boral Limited</td>
<td>Materials</td>
<td>6,342,320,000</td>
<td>0.38</td>
</tr>
<tr>
<td>BOQ</td>
<td>Bank of Queensland Limited</td>
<td>Financials</td>
<td>4,597,540,000</td>
<td>0.28</td>
</tr>
<tr>
<td>BPT</td>
<td>Beach Energy Limited</td>
<td>Energy</td>
<td>1,585,330,000</td>
<td>0.09</td>
</tr>
<tr>
<td>BRG</td>
<td>Breville Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,126,630,000</td>
<td>0.07</td>
</tr>
<tr>
<td>BSL</td>
<td>Bluescope Steel Limited</td>
<td>Materials</td>
<td>5,325,730,000</td>
<td>0.32</td>
</tr>
<tr>
<td>BTT</td>
<td>BT Investment Management Limited</td>
<td>Financials</td>
<td>3,303,480,000</td>
<td>0.2</td>
</tr>
<tr>
<td>BWP</td>
<td>BWP Trust Ord Units</td>
<td>Real Estate</td>
<td>1,920,730,000</td>
<td>0.11</td>
</tr>
<tr>
<td>BWX</td>
<td>BWX Limited</td>
<td>Consumer Staples</td>
<td>373,799,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BXB</td>
<td>Brambles Limited</td>
<td>Industrials</td>
<td>19,696,700,000</td>
<td>1.18</td>
</tr>
<tr>
<td>CAB</td>
<td>Cabcharge Australia Limited</td>
<td>Industrials</td>
<td>467,271,000</td>
<td>0.03</td>
</tr>
<tr>
<td>CAR</td>
<td>Carsales.com Limited</td>
<td>Information Technology</td>
<td>2,740,040,000</td>
<td>0.16</td>
</tr>
<tr>
<td>CBA</td>
<td>Commonwealth Bank of Australia</td>
<td>Financials</td>
<td>142,007,000,000</td>
<td>8.5</td>
</tr>
<tr>
<td>CCL</td>
<td>Coca-cola Amatil Limited</td>
<td>Consumer Staples</td>
<td>7,727,530,000</td>
<td>0.46</td>
</tr>
<tr>
<td>CCP</td>
<td>Credit Corp Group Limited</td>
<td>Financials</td>
<td>849,522,000</td>
<td>0.05</td>
</tr>
<tr>
<td>CCV</td>
<td>Cash Converters International</td>
<td>Consumer Discretionary</td>
<td>165,171,000</td>
<td>0.01</td>
</tr>
<tr>
<td>CDD</td>
<td>Cardno Limited</td>
<td>Industrials</td>
<td>453,212,000</td>
<td>0.03</td>
</tr>
<tr>
<td>CGC</td>
<td>Costa Group Holdings Limited</td>
<td>Consumer Staples</td>
<td>1,097,640,000</td>
<td>0.07</td>
</tr>
<tr>
<td>CGF</td>
<td>Challenger Limited</td>
<td>Financials</td>
<td>6,425,600,000</td>
<td>0.38</td>
</tr>
<tr>
<td>CHC</td>
<td>Charter Hall Group Forus</td>
<td>Real Estate</td>
<td>1,956,280,000</td>
<td>0.12</td>
</tr>
<tr>
<td>CIM</td>
<td>Cimic Group Limited</td>
<td>Industrials</td>
<td>11,329,400,000</td>
<td>0.68</td>
</tr>
<tr>
<td>CKF</td>
<td>Collins Foods Limited</td>
<td>Consumer Discretionary</td>
<td>629,886,000</td>
<td>0.04</td>
</tr>
<tr>
<td>CL1</td>
<td>Class Limited</td>
<td>Information Technology</td>
<td>334,165,000</td>
<td>0.02</td>
</tr>
<tr>
<td>CMW</td>
<td>Cromwell Property Group Stapled</td>
<td>Real Estate</td>
<td>1,732,510,000</td>
<td>0.1</td>
</tr>
<tr>
<td>CNU</td>
<td>Chorus Limited NZX</td>
<td>Telecommunication Services</td>
<td>1,558,770,000</td>
<td>0.09</td>
</tr>
<tr>
<td>COH</td>
<td>Cochlear Limited</td>
<td>Health Care</td>
<td>7,037,640,000</td>
<td>0.42</td>
</tr>
<tr>
<td>CPU</td>
<td>Computershare Limited</td>
<td>Information Technology</td>
<td>6,807,220,000</td>
<td>0.41</td>
</tr>
<tr>
<td>CQR</td>
<td>Charter Hall Retail Reit Unit</td>
<td>Real Estate</td>
<td>1,718,180,000</td>
<td>0.1</td>
</tr>
<tr>
<td>CSL</td>
<td>CSL Limited</td>
<td>Health Care</td>
<td>45,783,800,000</td>
<td>2.74</td>
</tr>
<tr>
<td>CSR</td>
<td>CSR Limited</td>
<td>Materials</td>
<td>2,330,700,000</td>
<td>0.14</td>
</tr>
<tr>
<td>CSV</td>
<td>CSG Limited</td>
<td>Information Technology</td>
<td>233,404,000</td>
<td>0.01</td>
</tr>
<tr>
<td>CTD</td>
<td>Corporate Travel Management Limited</td>
<td>Consumer Discretionary</td>
<td>1,823,200,000</td>
<td>0.11</td>
</tr>
<tr>
<td>CTX</td>
<td>Caltex Australia Limited</td>
<td>Energy</td>
<td>7,944,290,000</td>
<td>0.48</td>
</tr>
<tr>
<td>CVO</td>
<td>Cover-more Group Limited</td>
<td>Financials</td>
<td>731,311,000</td>
<td>0.04</td>
</tr>
<tr>
<td>CWN</td>
<td>Crown Resorts Limited</td>
<td>Consumer Discretionary</td>
<td>8,434,800,000</td>
<td>0.51</td>
</tr>
<tr>
<td>CWP</td>
<td>Cedar Woods Properties Limited</td>
<td>Real Estate</td>
<td>398,403,000</td>
<td>0.02</td>
</tr>
<tr>
<td>CWY</td>
<td>Cleanaway Waste Management Limited</td>
<td>Industrials</td>
<td>1,956,840,000</td>
<td>0.12</td>
</tr>
<tr>
<td>CYB</td>
<td>CYBG PLC Cdi 1:1</td>
<td>Financials</td>
<td>3,596,910,000</td>
<td>0.22</td>
</tr>
<tr>
<td>DCN</td>
<td>Dacian Gold Limited</td>
<td>Materials</td>
<td>301,351,000</td>
<td>0.02</td>
</tr>
<tr>
<td>DLX</td>
<td>Duluxgroup Limited</td>
<td>Materials</td>
<td>2,428,920,000</td>
<td>0.15</td>
</tr>
<tr>
<td>DMP</td>
<td>Domino’s Pizza Enterprises Limited</td>
<td>Consumer Discretionary</td>
<td>5,773,160,000</td>
<td>0.35</td>
</tr>
<tr>
<td>DNA</td>
<td>Donaco International Limited</td>
<td>Consumer Discretionary</td>
<td>303,392,000</td>
<td>0.02</td>
</tr>
<tr>
<td>DOW</td>
<td>Downer Edi Limited</td>
<td>Industrials</td>
<td>2,586,940,000</td>
<td>0.15</td>
</tr>
<tr>
<td>DRM</td>
<td>Doray Minerals Limited</td>
<td>Materials</td>
<td>153,476,000</td>
<td>0.01</td>
</tr>
<tr>
<td>DUE</td>
<td>Duet Group Forus</td>
<td>Utilities</td>
<td>6,666,540,000</td>
<td>0.4</td>
</tr>
<tr>
<td>DXS</td>
<td>Dexus Property Group Stapled</td>
<td>Real Estate</td>
<td>9,311,660,000</td>
<td>0.56</td>
</tr>
<tr>
<td>ECX</td>
<td>Eclipx Group Limited</td>
<td>Financials</td>
<td>991,813,000</td>
<td>0.06</td>
</tr>
<tr>
<td>EHE</td>
<td>Estia Health Limited</td>
<td>Health Care</td>
<td>594,709,000</td>
<td>0.04</td>
</tr>
<tr>
<td>ELD</td>
<td>Elders Limited</td>
<td>Consumer Staples</td>
<td>452,022,000</td>
<td>0.03</td>
</tr>
<tr>
<td>EML</td>
<td>EML Payments Limited</td>
<td>Financials</td>
<td>448,920,000</td>
<td>0.03</td>
</tr>
<tr>
<td>EPW</td>
<td>Erm Power Limited</td>
<td>Utilities</td>
<td>323,986,000</td>
<td>0.02</td>
</tr>
<tr>
<td>EQT</td>
<td>EQT Holdings Limited</td>
<td>Financials</td>
<td>350,966,000</td>
<td>0.02</td>
</tr>
<tr>
<td>EVN</td>
<td>Evolution Mining Limited</td>
<td>Materials</td>
<td>3,561,030,000</td>
<td>0.21</td>
</tr>
<tr>
<td>EWC</td>
<td>Energy World Corporation LTD</td>
<td>Utilities</td>
<td>450,883,000</td>
<td>0.03</td>
</tr>
<tr>
<td>FAR</td>
<td>FAR Limited</td>
<td>Energy</td>
<td>334,615,000</td>
<td>0.02</td>
</tr>
<tr>
<td>FBU</td>
<td>Fletcher Building Limited NZX</td>
<td>Materials</td>
<td>7,168,870,000</td>
<td>0.43</td>
</tr>
<tr>
<td>FET</td>
<td>Folkestone Education Trust Unit</td>
<td>Real Estate</td>
<td>633,272,000</td>
<td>0.04</td>
</tr>
<tr>
<td>FLT</td>
<td>Flight Centre Travel Group Limited</td>
<td>Consumer Discretionary</td>
<td>3,160,500,000</td>
<td>0.19</td>
</tr>
<tr>
<td>FMG</td>
<td>Fortescue Metals Group LTD</td>
<td>Materials</td>
<td>18,340,300,000</td>
<td>1.1</td>
</tr>
<tr>
<td>FNP</td>
<td>Freedom Foods Group Limited</td>
<td>Consumer Staples</td>
<td>865,644,000</td>
<td>0.05</td>
</tr>
<tr>
<td>FPH</td>
<td>Fisher & Paykel Healthcare Corporation Limited NZX</td>
<td>Health Care</td>
<td>4,647,370,000</td>
<td>0.28</td>
</tr>
<tr>
<td>FSF</td>
<td>Fonterra Shareholders’ Fund Unit NZX</td>
<td>Consumer Staples</td>
<td>697,194,000</td>
<td>0.04</td>
</tr>
<tr>
<td>FXJ</td>
<td>Fairfax Media Limited</td>
<td>Consumer Discretionary</td>
<td>2,046,530,000</td>
<td>0.12</td>
</tr>
<tr>
<td>FXL</td>
<td>Flexigroup Limited</td>
<td>Financials</td>
<td>841,515,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GBT</td>
<td>GBST Holdings Limited</td>
<td>Information Technology</td>
<td>255,150,000</td>
<td>0.02</td>
</tr>
<tr>
<td>GDI</td>
<td>GDI Property Group Stapled</td>
<td>Real Estate</td>
<td>533,431,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GEM</td>
<td>G8 Education Limited</td>
<td>Consumer Discretionary</td>
<td>1,373,220,000</td>
<td>0.08</td>
</tr>
<tr>
<td>GHC</td>
<td>Generation Healthcare Reit Units</td>
<td>Real Estate</td>
<td>421,122,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GMA</td>
<td>Genworth Mortgage Insurance Australia Limited</td>
<td>Financials</td>
<td>1,665,620,000</td>
<td>0.1</td>
</tr>
<tr>
<td>GMG</td>
<td>Goodman Group Stapled</td>
<td>Real Estate</td>
<td>12,756,400,000</td>
<td>0.76</td>
</tr>
<tr>
<td>GNC</td>
<td>Graincorp Limited</td>
<td>Consumer Staples</td>
<td>2,187,860,000</td>
<td>0.13</td>
</tr>
<tr>
<td>GOR</td>
<td>Gold Road Resources Limited</td>
<td>Materials</td>
<td>500,853,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GOZ</td>
<td>Growthpoint Properties Australia Stapled</td>
<td>Real Estate</td>
<td>2,103,870,000</td>
<td>0.13</td>
</tr>
<tr>
<td>GPT</td>
<td>GPT Group Stapled</td>
<td>Real Estate</td>
<td>9,043,720,000</td>
<td>0.54</td>
</tr>
<tr>
<td>GTY</td>
<td>Gateway Lifestyle Group Stapled</td>
<td>Real Estate</td>
<td>646,699,000</td>
<td>0.04</td>
</tr>
<tr>
<td>GUD</td>
<td>G.u.d. Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>897,693,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GWA</td>
<td>GWA Group Limited</td>
<td>Industrials</td>
<td>781,285,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GXL</td>
<td>Greencross Limited</td>
<td>Consumer Discretionary</td>
<td>796,804,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GXY</td>
<td>Galaxy Resources Limited</td>
<td>Materials</td>
<td>962,087,000</td>
<td>0.06</td>
</tr>
<tr>
<td>HFA</td>
<td>HFA Holdings Limited</td>
<td>Financials</td>
<td>389,155,000</td>
<td>0.02</td>
</tr>
<tr>
<td>HFR</td>
<td>Highfield Resources Limited</td>
<td>Materials</td>
<td>427,495,000</td>
<td>0.03</td>
</tr>
<tr>
<td>HGG</td>
<td>Henderson Group PLC Cdi 1:1</td>
<td>Financials</td>
<td>2,875,710,000</td>
<td>0.17</td>
</tr>
<tr>
<td>HPI</td>
<td>Hotel Property Investments Stapled</td>
<td>Real Estate</td>
<td>414,939,000</td>
<td>0.02</td>
</tr>
<tr>
<td>HSN</td>
<td>Hansen Technologies Limited</td>
<td>Information Technology</td>
<td>712,165,000</td>
<td>0.04</td>
</tr>
<tr>
<td>HSO</td>
<td>Healthscope Limited</td>
<td>Health Care</td>
<td>3,973,360,000</td>
<td>0.24</td>
</tr>
<tr>
<td>HVN</td>
<td>Harvey Norman Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>5,718,530,000</td>
<td>0.34</td>
</tr>
<tr>
<td>IAG</td>
<td>Insurance Australia Group Limited</td>
<td>Financials</td>
<td>14,181,500,000</td>
<td>0.85</td>
</tr>
<tr>
<td>IDR</td>
<td>Industria Reit Stapled</td>
<td>Real Estate</td>
<td>342,539,000</td>
<td>0.02</td>
</tr>
<tr>
<td>IEL</td>
<td>Idp Education Limited</td>
<td>Consumer Discretionary</td>
<td>998,677,000</td>
<td>0.06</td>
</tr>
<tr>
<td>IFL</td>
<td>Ioof Holdings Limited</td>
<td>Financials</td>
<td>2,764,230,000</td>
<td>0.17</td>
</tr>
<tr>
<td>IFM</td>
<td>Infomedia LTD</td>
<td>Information Technology</td>
<td>226,901,000</td>
<td>0.01</td>
</tr>
<tr>
<td>IFN</td>
<td>Infigen Energy Stapled</td>
<td>Utilities</td>
<td>702,520,000</td>
<td>0.04</td>
</tr>
<tr>
<td>IGO</td>
<td>Independence Group NL</td>
<td>Materials</td>
<td>2,534,540,000</td>
<td>0.15</td>
</tr>
<tr>
<td>ILU</td>
<td>Iluka Resources Limited</td>
<td>Materials</td>
<td>3,043,950,000</td>
<td>0.18</td>
</tr>
<tr>
<td>IMF</td>
<td>IMF Bentham Limited</td>
<td>Financials</td>
<td>299,584,000</td>
<td>0.02</td>
</tr>
<tr>
<td>INA</td>
<td>Ingenia Communities Group Stapled</td>
<td>Real Estate</td>
<td>476,268,000</td>
<td>0.03</td>
</tr>
<tr>
<td>INM</td>
<td>Iron Mountain Incorporated Cdi 1:1</td>
<td>Real Estate</td>
<td>2,146,340,000</td>
<td>0.13</td>
</tr>
<tr>
<td>IOF</td>
<td>Investa Office Fund Stapled</td>
<td>Real Estate</td>
<td>2,898,300,000</td>
<td>0.17</td>
</tr>
<tr>
<td>IPD</td>
<td>Impedimed Limited</td>
<td>Health Care</td>
<td>386,258,000</td>
<td>0.02</td>
</tr>
<tr>
<td>IPH</td>
<td>IPH Limited</td>
<td>Industrials</td>
<td>980,110,000</td>
<td>0.06</td>
</tr>
<tr>
<td>IPL</td>
<td>Incitec Pivot Limited</td>
<td>Materials</td>
<td>6,073,810,000</td>
<td>0.36</td>
</tr>
<tr>
<td>IRE</td>
<td>Iress Limited</td>
<td>Information Technology</td>
<td>2,017,390,000</td>
<td>0.12</td>
</tr>
<tr>
<td>ISD</td>
<td>Isentia Group Limited</td>
<td>Information Technology</td>
<td>574,000,000</td>
<td>0.03</td>
</tr>
<tr>
<td>ISU</td>
<td>Iselect Limited</td>
<td>Consumer Discretionary</td>
<td>439,875,000</td>
<td>0.03</td>
</tr>
<tr>
<td>IVC</td>
<td>Invocare Limited</td>
<td>Consumer Discretionary</td>
<td>1,526,120,000</td>
<td>0.09</td>
</tr>
<tr>
<td>JBH</td>
<td>JB Hi-fi Limited</td>
<td>Consumer Discretionary</td>
<td>3,206,810,000</td>
<td>0.19</td>
</tr>
<tr>
<td>JHC</td>
<td>Japara Healthcare Limited</td>
<td>Health Care</td>
<td>599,216,000</td>
<td>0.04</td>
</tr>
<tr>
<td>JHX</td>
<td>James Hardie Industries PLC Cdi 1:1</td>
<td>Materials</td>
<td>9,685,290,000</td>
<td>0.58</td>
</tr>
<tr>
<td>KAR</td>
<td>Karoon Gas Australia Limited</td>
<td>Energy</td>
<td>441,229,000</td>
<td>0.03</td>
</tr>
<tr>
<td>KMD</td>
<td>Kathmandu Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>375,769,000</td>
<td>0.02</td>
</tr>
<tr>
<td>LLC</td>
<td>Lendlease Group Stapled</td>
<td>Real Estate</td>
<td>8,523,310,000</td>
<td>0.51</td>
</tr>
<tr>
<td>LNG</td>
<td>Liquefied Natural Gas Limited</td>
<td>Energy</td>
<td>345,619,000</td>
<td>0.02</td>
</tr>
<tr>
<td>LNK</td>
<td>Link Administration Holdings Limited</td>
<td>Information Technology</td>
<td>2,723,670,000</td>
<td>0.16</td>
</tr>
<tr>
<td>LYC</td>
<td>Lynas Corporation Limited</td>
<td>Materials</td>
<td>257,026,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MFG</td>
<td>Magellan Financial Group Limited</td>
<td>Financials</td>
<td>4,090,260,000</td>
<td>0.24</td>
</tr>
<tr>
<td>MGC</td>
<td>MG Unit Trust Units</td>
<td>Consumer Staples</td>
<td>189,497,000</td>
<td>0.01</td>
</tr>
<tr>
<td>MGR</td>
<td>Mirvac Group Stapled</td>
<td>Real Estate</td>
<td>7,891,890,000</td>
<td>0.47</td>
</tr>
<tr>
<td>MIN</td>
<td>Mineral Resources Limited</td>
<td>Materials</td>
<td>2,266,880,000</td>
<td>0.14</td>
</tr>
<tr>
<td>MLD</td>
<td>Maca Limited</td>
<td>Materials</td>
<td>401,899,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MLX</td>
<td>Metals X Limited</td>
<td>Materials</td>
<td>341,231,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MMS</td>
<td>Mcmillan Shakespeare Limited</td>
<td>Industrials</td>
<td>904,435,000</td>
<td>0.05</td>
</tr>
<tr>
<td>MND</td>
<td>Monadelphous Group Limited</td>
<td>Industrials</td>
<td>1,053,870,000</td>
<td>0.06</td>
</tr>
<tr>
<td>MNS</td>
<td>Magnis Resources Limited</td>
<td>Materials</td>
<td>339,749,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MOC</td>
<td>Mortgage Choice Limited</td>
<td>Financials</td>
<td>298,651,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MPL</td>
<td>Medibank Private Limited</td>
<td>Financials</td>
<td>7,766,290,000</td>
<td>0.46</td>
</tr>
<tr>
<td>MQA</td>
<td>Macquarie Atlas Roads Group Stapled</td>
<td>Industrials</td>
<td>2,677,160,000</td>
<td>0.16</td>
</tr>
<tr>
<td>MQG</td>
<td>Macquarie Group Limited</td>
<td>Financials</td>
<td>29,651,400,000</td>
<td>1.78</td>
</tr>
<tr>
<td>MSB</td>
<td>Mesoblast Limited</td>
<td>Health Care</td>
<td>545,765,000</td>
<td>0.03</td>
</tr>
<tr>
<td>MTR</td>
<td>Mantra Group Limited</td>
<td>Consumer Discretionary</td>
<td>915,396,000</td>
<td>0.05</td>
</tr>
<tr>
<td>MTS</td>
<td>Metcash Limited</td>
<td>Consumer Staples</td>
<td>2,224,460,000</td>
<td>0.13</td>
</tr>
<tr>
<td>MVF</td>
<td>Monash Ivf Group Limited</td>
<td>Health Care</td>
<td>482,561,000</td>
<td>0.03</td>
</tr>
<tr>
<td>MYO</td>
<td>Myob Group Limited</td>
<td>Information Technology</td>
<td>2,193,740,000</td>
<td>0.13</td>
</tr>
<tr>
<td>MYR</td>
<td>Myer Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>1,133,360,000</td>
<td>0.07</td>
</tr>
<tr>
<td>MYX</td>
<td>Mayne Pharma Group Limited</td>
<td>Health Care</td>
<td>2,016,060,000</td>
<td>0.12</td>
</tr>
<tr>
<td>NAB</td>
<td>National Australia Bank Limited</td>
<td>Financials</td>
<td>81,896,800,000</td>
<td>4.9</td>
</tr>
<tr>
<td>NAN</td>
<td>Nanosonics Limited</td>
<td>Health Care</td>
<td>925,950,000</td>
<td>0.06</td>
</tr>
<tr>
<td>NCM</td>
<td>Newcrest Mining Limited</td>
<td>Materials</td>
<td>15,526,400,000</td>
<td>0.93</td>
</tr>
<tr>
<td>NEC</td>
<td>Nine Entertainment Co. Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>928,012,000</td>
<td>0.06</td>
</tr>
<tr>
<td>NHF</td>
<td>Nib Holdings Limited</td>
<td>Financials</td>
<td>2,085,270,000</td>
<td>0.12</td>
</tr>
<tr>
<td>NSR</td>
<td>National Storage Reit Stapled</td>
<td>Real Estate</td>
<td>752,272,000</td>
<td>0.05</td>
</tr>
<tr>
<td>NST</td>
<td>Northern Star Resources LTD</td>
<td>Materials</td>
<td>2,173,960,000</td>
<td>0.13</td>
</tr>
<tr>
<td>NTC</td>
<td>Netcomm Wireless Limited</td>
<td>Information Technology</td>
<td>314,609,000</td>
<td>0.02</td>
</tr>
<tr>
<td>NUF</td>
<td>Nufarm Limited</td>
<td>Materials</td>
<td>2,443,350,000</td>
<td>0.15</td>
</tr>
<tr>
<td>NVT</td>
<td>Navitas Limited</td>
<td>Consumer Discretionary</td>
<td>1,809,900,000</td>
<td>0.11</td>
</tr>
<tr>
<td>NWS</td>
<td>News Corporation. B Voting</td>
<td>Consumer Discretionary</td>
<td>713,820,000</td>
<td>0.04</td>
</tr>
<tr>
<td>NXT</td>
<td>Nextdc Limited</td>
<td>Information Technology</td>
<td>1,034,020,000</td>
<td>0.06</td>
</tr>
<tr>
<td>OFX</td>
<td>OFX Group Limited</td>
<td>Financials</td>
<td>403,200,000</td>
<td>0.02</td>
</tr>
<tr>
<td>OGC</td>
<td>Oceanagold Corporation Cdi 1:1</td>
<td>Materials</td>
<td>2,566,080,000</td>
<td>0.15</td>
</tr>
<tr>
<td>OML</td>
<td>Ooh!media Limited</td>
<td>Consumer Discretionary</td>
<td>750,111,000</td>
<td>0.04</td>
</tr>
<tr>
<td>ORA</td>
<td>Orora Limited</td>
<td>Materials</td>
<td>3,607,990,000</td>
<td>0.22</td>
</tr>
<tr>
<td>ORE</td>
<td>Orocobre Limited</td>
<td>Materials</td>
<td>952,752,000</td>
<td>0.06</td>
</tr>
<tr>
<td>ORG</td>
<td>Origin Energy Limited</td>
<td>Energy</td>
<td>11,564,700,000</td>
<td>0.69</td>
</tr>
<tr>
<td>ORI</td>
<td>Orica Limited</td>
<td>Materials</td>
<td>6,650,790,000</td>
<td>0.4</td>
</tr>
<tr>
<td>OSH</td>
<td>Oil Search Limited 10T</td>
<td>Energy</td>
<td>10,917,700,000</td>
<td>0.65</td>
</tr>
<tr>
<td>OZL</td>
<td>Oz Minerals Limited</td>
<td>Materials</td>
<td>2,394,380,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PDN</td>
<td>Paladin Energy LTD</td>
<td>Energy</td>
<td>147,305,000</td>
<td>0.01</td>
</tr>
<tr>
<td>PGH</td>
<td>Pact Group Holdings LTD</td>
<td>Materials</td>
<td>2,019,830,000</td>
<td>0.12</td>
</tr>
<tr>
<td>PLS</td>
<td>Pilbara Minerals Limited</td>
<td>Materials</td>
<td>631,223,000</td>
<td>0.04</td>
</tr>
<tr>
<td>PMV</td>
<td>Premier Investments Limited</td>
<td>Consumer Discretionary</td>
<td>2,273,320,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PPT</td>
<td>Perpetual Limited</td>
<td>Financials</td>
<td>2,270,970,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PRG</td>
<td>Programmed Maintenance Services Limited</td>
<td>Industrials</td>
<td>495,320,000</td>
<td>0.03</td>
</tr>
<tr>
<td>PRU</td>
<td>Perseus Mining Limited</td>
<td>Materials</td>
<td>345,659,000</td>
<td>0.02</td>
</tr>
<tr>
<td>PRY</td>
<td>Primary Health Care Limited</td>
<td>Health Care</td>
<td>2,127,450,000</td>
<td>0.13</td>
</tr>
<tr>
<td>PTM</td>
<td>Platinum Asset Management Limited</td>
<td>Financials</td>
<td>3,097,660,000</td>
<td>0.19</td>
</tr>
<tr>
<td>QAN</td>
<td>Qantas Airways Limited</td>
<td>Industrials</td>
<td>6,154,980,000</td>
<td>0.37</td>
</tr>
<tr>
<td>QBE</td>
<td>QBE Insurance Group Limited</td>
<td>Financials</td>
<td>17,035,200,000</td>
<td>1.02</td>
</tr>
<tr>
<td>QUB</td>
<td>Qube Holdings Limited</td>
<td>Industrials</td>
<td>3,542,670,000</td>
<td>0.21</td>
</tr>
<tr>
<td>RCG</td>
<td>RCG Corporation Limited</td>
<td>Consumer Discretionary</td>
<td>803,817,000</td>
<td>0.05</td>
</tr>
<tr>
<td>RCR</td>
<td>RCR Tomlinson Limited</td>
<td>Industrials</td>
<td>384,899,000</td>
<td>0.02</td>
</tr>
<tr>
<td>REA</td>
<td>REA Group LTD</td>
<td>Consumer Discretionary</td>
<td>7,274,600,000</td>
<td>0.44</td>
</tr>
<tr>
<td>REG</td>
<td>Regis Healthcare Limited</td>
<td>Health Care</td>
<td>1,375,640,000</td>
<td>0.08</td>
</tr>
<tr>
<td>RFF</td>
<td>Rural Funds Group Stapled</td>
<td>Real Estate</td>
<td>361,802,000</td>
<td>0.02</td>
</tr>
<tr>
<td>RFG</td>
<td>Retail Food Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,235,900,000</td>
<td>0.07</td>
</tr>
<tr>
<td>RHC</td>
<td>Ramsay Health Care Limited</td>
<td>Health Care</td>
<td>13,802,100,000</td>
<td>0.83</td>
</tr>
<tr>
<td>RIC</td>
<td>Ridley Corporation Limited</td>
<td>Consumer Staples</td>
<td>384,771,000</td>
<td>0.02</td>
</tr>
<tr>
<td>RIO</td>
<td>RIO Tinto Limited</td>
<td>Materials</td>
<td>25,409,100,000</td>
<td>1.52</td>
</tr>
<tr>
<td>RMD</td>
<td>Resmed Inc Cdi 10:1</td>
<td>Health Care</td>
<td>12,088,200,000</td>
<td>0.72</td>
</tr>
<tr>
<td>RRL</td>
<td>Regis Resources Limited</td>
<td>Materials</td>
<td>1,487,950,000</td>
<td>0.09</td>
</tr>
<tr>
<td>RSG</td>
<td>Resolute Mining Limited</td>
<td>Materials</td>
<td>958,078,000</td>
<td>0.06</td>
</tr>
<tr>
<td>RWC</td>
<td>Reliance Worldwide Corporation Limited</td>
<td>Industrials</td>
<td>1,680,000,000</td>
<td>0.1</td>
</tr>
<tr>
<td>S32</td>
<td>SOUTH32 Limited</td>
<td>Materials</td>
<td>14,640,300,000</td>
<td>0.88</td>
</tr>
<tr>
<td>SAR</td>
<td>Saracen Mineral Holdings Limited</td>
<td>Materials</td>
<td>799,048,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SBM</td>
<td>ST Barbara Limited</td>
<td>Materials</td>
<td>1,014,560,000</td>
<td>0.06</td>
</tr>
<tr>
<td>SCG</td>
<td>Scentre Group Stapled</td>
<td>Real Estate</td>
<td>24,704,700,000</td>
<td>1.48</td>
</tr>
<tr>
<td>SCP</td>
<td>Shopping Centres Australasia Property Group Stapled</td>
<td>Real Estate</td>
<td>1,622,440,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SDA</td>
<td>Speedcast International Limited</td>
<td>Telecommunication Services</td>
<td>831,140,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SDF</td>
<td>Steadfast Group Limited</td>
<td>Financials</td>
<td>1,656,950,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SEH</td>
<td>Sino Gas & Energy Holdings Limited</td>
<td>Energy</td>
<td>238,553,000</td>
<td>0.01</td>
</tr>
<tr>
<td>SEK</td>
<td>Seek Limited</td>
<td>Industrials</td>
<td>5,175,350,000</td>
<td>0.31</td>
</tr>
<tr>
<td>SFR</td>
<td>Sandfire Resources NL</td>
<td>Materials</td>
<td>889,630,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SGF</td>
<td>SG Fleet Group Limited</td>
<td>Industrials</td>
<td>842,593,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SGM</td>
<td>Sims Metal Management Limited</td>
<td>Materials</td>
<td>2,533,180,000</td>
<td>0.15</td>
</tr>
<tr>
<td>SGP</td>
<td>Stockland Stapled</td>
<td>Real Estate</td>
<td>11,015,100,000</td>
<td>0.66</td>
</tr>
<tr>
<td>SGR</td>
<td>The Star Entertainment Group Limited</td>
<td>Consumer Discretionary</td>
<td>4,268,730,000</td>
<td>0.26</td>
</tr>
<tr>
<td>SHL</td>
<td>Sonic Healthcare Limited</td>
<td>Health Care</td>
<td>8,908,830,000</td>
<td>0.53</td>
</tr>
<tr>
<td>SHV</td>
<td>Select Harvests Limited</td>
<td>Consumer Staples</td>
<td>487,950,000</td>
<td>0.03</td>
</tr>
<tr>
<td>SIP</td>
<td>Sigma Pharmaceuticals Limited</td>
<td>Health Care</td>
<td>1,390,650,000</td>
<td>0.08</td>
</tr>
<tr>
<td>SIQ</td>
<td>Smartgroup Corporation LTD</td>
<td>Industrials</td>
<td>762,939,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SIV</td>
<td>Silver Chef Limited</td>
<td>Industrials</td>
<td>319,297,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SKC</td>
<td>Skycity Entertainment Group Limited NZX</td>
<td>Consumer Discretionary</td>
<td>2,486,980,000</td>
<td>0.15</td>
</tr>
<tr>
<td>SKI</td>
<td>Spark Infrastructure Group Forus</td>
<td>Utilities</td>
<td>4,003,190,000</td>
<td>0.24</td>
</tr>
<tr>
<td>SKT</td>
<td>SKY Network Television Limited NZ</td>
<td>Consumer Discretionary</td>
<td>1,723,890,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SLK</td>
<td>Sealink Travel Group Limited</td>
<td>Consumer Discretionary</td>
<td>464,297,000</td>
<td>0.03</td>
</tr>
<tr>
<td>SPK</td>
<td>Spark New Zealand Limited NZX</td>
<td>Telecommunication Services</td>
<td>6,029,170,000</td>
<td>0.36</td>
</tr>
<tr>
<td>SPL</td>
<td>Starpharma Holdings Limited</td>
<td>Health Care</td>
<td>267,189,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SPO</td>
<td>Spotless Group Holdings Limited</td>
<td>Industrials</td>
<td>1,087,310,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SRX</td>
<td>Sirtex Medical Limited</td>
<td>Health Care</td>
<td>817,559,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SSM</td>
<td>Service Stream Limited</td>
<td>Industrials</td>
<td>401,708,000</td>
<td>0.02</td>
</tr>
<tr>
<td>STO</td>
<td>Santos Limited</td>
<td>Energy</td>
<td>8,168,810,000</td>
<td>0.49</td>
</tr>
<tr>
<td>SUL</td>
<td>Super Retail Group Limited</td>
<td>Consumer Discretionary</td>
<td>2,041,430,000</td>
<td>0.12</td>
</tr>
<tr>
<td>SUN</td>
<td>Suncorp Group Limited</td>
<td>Financials</td>
<td>17,443,500,000</td>
<td>1.04</td>
</tr>
<tr>
<td>SVW</td>
<td>Seven Group Holdings Limited</td>
<td>Industrials</td>
<td>2,204,930,000</td>
<td>0.13</td>
</tr>
<tr>
<td>SWM</td>
<td>Seven West Media Limited</td>
<td>Consumer Discretionary</td>
<td>1,213,970,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SXL</td>
<td>Southern Cross Media Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,188,130,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SXY</td>
<td>Senex Energy Limited</td>
<td>Energy</td>
<td>305,906,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SYD</td>
<td>Sydney Airport Forus</td>
<td>Industrials</td>
<td>13,476,500,000</td>
<td>0.81</td>
</tr>
<tr>
<td>SYR</td>
<td>Syrah Resources Limited</td>
<td>Materials</td>
<td>804,460,000</td>
<td>0.05</td>
</tr>
<tr>
<td>TAH</td>
<td>Tabcorp Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>4,017,630,000</td>
<td>0.24</td>
</tr>
<tr>
<td>TCL</td>
<td>Transurban Group Stapled</td>
<td>Industrials</td>
<td>21,081,100,000</td>
<td>1.26</td>
</tr>
<tr>
<td>TEN</td>
<td>TEN Network Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>334,995,000</td>
<td>0.02</td>
</tr>
<tr>
<td>TFC</td>
<td>TFS Corporation Limited</td>
<td>Materials</td>
<td>647,732,000</td>
<td>0.04</td>
</tr>
<tr>
<td>TGA</td>
<td>Thorn Group Limited</td>
<td>Consumer Discretionary</td>
<td>300,588,000</td>
<td>0.02</td>
</tr>
<tr>
<td>TGR</td>
<td>Tassal Group Limited</td>
<td>Consumer Staples</td>
<td>623,669,000</td>
<td>0.04</td>
</tr>
<tr>
<td>TIX</td>
<td>360 Capital Industrial Fund Ord Unit</td>
<td>Real Estate</td>
<td>532,013,000</td>
<td>0.03</td>
</tr>
<tr>
<td>TLS</td>
<td>Telstra Corporation Limited</td>
<td>Telecommunication Services</td>
<td>60,911,800,000</td>
<td>3.65</td>
</tr>
<tr>
<td>TME</td>
<td>Trade Me Group Limited NZX</td>
<td>Consumer Discretionary</td>
<td>1,926,230,000</td>
<td>0.12</td>
</tr>
<tr>
<td>TNE</td>
<td>Technology One Limited</td>
<td>Information Technology</td>
<td>1,770,140,000</td>
<td>0.11</td>
</tr>
<tr>
<td>TOX</td>
<td>TOX Free Solutions Limited</td>
<td>Industrials</td>
<td>502,320,000</td>
<td>0.03</td>
</tr>
<tr>
<td>TPM</td>
<td>TPG Telecom Limited</td>
<td>Telecommunication Services</td>
<td>5,786,590,000</td>
<td>0.35</td>
</tr>
<tr>
<td>TRS</td>
<td>The Reject Shop Limited</td>
<td>Consumer Discretionary</td>
<td>244,729,000</td>
<td>0.01</td>
</tr>
<tr>
<td>TTS</td>
<td>Tatts Group Limited</td>
<td>Consumer Discretionary</td>
<td>6,578,970,000</td>
<td>0.39</td>
</tr>
<tr>
<td>TWE</td>
<td>Treasury Wine Estates Limited</td>
<td>Consumer Staples</td>
<td>7,883,280,000</td>
<td>0.47</td>
</tr>
<tr>
<td>VCX</td>
<td>Vicinity Centres Stapled</td>
<td>Real Estate</td>
<td>11,836,400,000</td>
<td>0.71</td>
</tr>
<tr>
<td>VLW</td>
<td>Villa World Limited</td>
<td>Real Estate</td>
<td>258,995,000</td>
<td>0.02</td>
</tr>
<tr>
<td>VOC</td>
<td>Vocus Communications Limited</td>
<td>Telecommunication Services</td>
<td>2,400,770,000</td>
<td>0.14</td>
</tr>
<tr>
<td>VRL</td>
<td>Village Roadshow Limited</td>
<td>Consumer Discretionary</td>
<td>737,762,000</td>
<td>0.04</td>
</tr>
<tr>
<td>VRT</td>
<td>Virtus Health Limited</td>
<td>Health Care</td>
<td>501,551,000</td>
<td>0.03</td>
</tr>
<tr>
<td>VTG</td>
<td>Vita Group Limited</td>
<td>Consumer Discretionary</td>
<td>490,858,000</td>
<td>0.03</td>
</tr>
<tr>
<td>VVR</td>
<td>Viva Energy Reit Stapled</td>
<td>Real Estate</td>
<td>1,656,360,000</td>
<td>0.1</td>
</tr>
<tr>
<td>WBA</td>
<td>Webster Limited</td>
<td>Consumer Staples</td>
<td>474,619,000</td>
<td>0.03</td>
</tr>
<tr>
<td>WBC</td>
<td>Westpac Banking Corporation</td>
<td>Financials</td>
<td>109,426,000,000</td>
<td>6.55</td>
</tr>
<tr>
<td>WEB</td>
<td>Webjet Limited</td>
<td>Consumer Discretionary</td>
<td>1,037,770,000</td>
<td>0.06</td>
</tr>
<tr>
<td>WES</td>
<td>Wesfarmers Limited</td>
<td>Consumer Staples</td>
<td>47,657,800,000</td>
<td>2.85</td>
</tr>
<tr>
<td>WFD</td>
<td>Westfield Corporation Stapled</td>
<td>Real Estate</td>
<td>19,492,500,000</td>
<td>1.17</td>
</tr>
<tr>
<td>WGX</td>
<td>Westgold Resources Limited</td>
<td>Materials</td>
<td>502,708,000</td>
<td>0.03</td>
</tr>
<tr>
<td>WHC</td>
<td>Whitehaven Coal Limited</td>
<td>Energy</td>
<td>2,677,980,000</td>
<td>0.16</td>
</tr>
<tr>
<td>WOR</td>
<td>Worleyparsons Limited</td>
<td>Energy</td>
<td>2,395,430,000</td>
<td>0.14</td>
</tr>
<tr>
<td>WOW</td>
<td>Woolworths Limited</td>
<td>Consumer Staples</td>
<td>31,044,700,000</td>
<td>1.86</td>
</tr>
<tr>
<td>WPL</td>
<td>Woodside Petroleum Limited</td>
<td>Energy</td>
<td>26,250,600,000</td>
<td>1.57</td>
</tr>
<tr>
<td>WPP</td>
<td>WPP Aunz LTD</td>
<td>Consumer Discretionary</td>
<td>1,031,100,000</td>
<td>0.06</td>
</tr>
<tr>
<td>WSA</td>
<td>Western Areas Limited</td>
<td>Materials</td>
<td>835,754,000</td>
<td>0.05</td>
</tr>
<tr>
<td>WTC</td>
<td>Wisetech Global Limited</td>
<td>Information Technology</td>
<td>1,642,050,000</td>
<td>0.1</td>
</tr>
</tbody>
</table>
In [5]:
table_header = table.find('thead')
print(table_header)
<thead>
<tr class="tableizer-firstrow">
<th>Code</th>
<th>Company</th>
<th>Sector</th>
<th>Market Cap</th>
<th>Weight(%)</th>
</tr>
</thead>
In [6]:
table_body = table.find('tbody')
print(table_body)
<tbody>
<tr>
<td>A2M</td>
<td>The A2 Milk Company Limited NZ</td>
<td>Consumer Staples</td>
<td>1,460,370,000</td>
<td>0.09</td>
</tr>
<tr>
<td>AAC</td>
<td>Australian Agricultural Company Limited</td>
<td>Consumer Staples</td>
<td>947,014,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AAD</td>
<td>Ardent Leisure Group Stapled</td>
<td>Consumer Discretionary</td>
<td>1,097,680,000</td>
<td>0.07</td>
</tr>
<tr>
<td>ABC</td>
<td>Adelaide Brighton Limited</td>
<td>Materials</td>
<td>3,527,620,000</td>
<td>0.21</td>
</tr>
<tr>
<td>ABP</td>
<td>Abacus Property Group Stapled</td>
<td>Real Estate</td>
<td>1,728,420,000</td>
<td>0.1</td>
</tr>
<tr>
<td>ACX</td>
<td>Aconex Limited</td>
<td>Information Technology</td>
<td>1,003,640,000</td>
<td>0.06</td>
</tr>
<tr>
<td>ADH</td>
<td>Adairs Limited</td>
<td>Consumer Discretionary</td>
<td>265,400,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AGI</td>
<td>Ainsworth Game Technology Limited</td>
<td>Consumer Discretionary</td>
<td>698,591,000</td>
<td>0.04</td>
</tr>
<tr>
<td>AGL</td>
<td>AGL Energy Limited</td>
<td>Utilities</td>
<td>14,851,400,000</td>
<td>0.89</td>
</tr>
<tr>
<td>AHG</td>
<td>Automotive Holdings Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,309,910,000</td>
<td>0.08</td>
</tr>
<tr>
<td>AHY</td>
<td>Asaleo Care Limited</td>
<td>Consumer Staples</td>
<td>821,324,000</td>
<td>0.05</td>
</tr>
<tr>
<td>AIA</td>
<td>Auckland International Airport Limited NZX</td>
<td>Industrials</td>
<td>7,323,990,000</td>
<td>0.44</td>
</tr>
<tr>
<td>AJA</td>
<td>Astro Japan Property Group Forus</td>
<td>Real Estate</td>
<td>403,339,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AJX</td>
<td>Alexium International Group Limited</td>
<td>Materials</td>
<td>184,243,000</td>
<td>0.01</td>
</tr>
<tr>
<td>ALL</td>
<td>Aristocrat Leisure Limited</td>
<td>Consumer Discretionary</td>
<td>9,897,430,000</td>
<td>0.59</td>
</tr>
<tr>
<td>ALQ</td>
<td>Als Limited</td>
<td>Industrials</td>
<td>3,045,500,000</td>
<td>0.18</td>
</tr>
<tr>
<td>ALU</td>
<td>Altium Limited</td>
<td>Information Technology</td>
<td>1,053,450,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AMA</td>
<td>AMA Group Limited</td>
<td>Consumer Discretionary</td>
<td>466,583,000</td>
<td>0.03</td>
</tr>
<tr>
<td>AMC</td>
<td>Amcor Limited</td>
<td>Materials</td>
<td>17,314,200,000</td>
<td>1.04</td>
</tr>
<tr>
<td>AMP</td>
<td>AMP Limited</td>
<td>Financials</td>
<td>14,907,000,000</td>
<td>0.89</td>
</tr>
<tr>
<td>ANN</td>
<td>Ansell Limited</td>
<td>Health Care</td>
<td>3,643,430,000</td>
<td>0.22</td>
</tr>
<tr>
<td>ANZ</td>
<td>Australia And New Zealand Banking Group Limited</td>
<td>Financials</td>
<td>89,314,200,000</td>
<td>5.35</td>
</tr>
<tr>
<td>AOG</td>
<td>Aveo Group Stapled</td>
<td>Real Estate</td>
<td>1,947,480,000</td>
<td>0.12</td>
</tr>
<tr>
<td>APA</td>
<td>APA Group Stapled</td>
<td>Utilities</td>
<td>9,549,610,000</td>
<td>0.57</td>
</tr>
<tr>
<td>API</td>
<td>Australian Pharmaceutical Industries Limited</td>
<td>Health Care</td>
<td>1,008,990,000</td>
<td>0.06</td>
</tr>
<tr>
<td>APN</td>
<td>APN News & Media Limited</td>
<td>Consumer Discretionary</td>
<td>873,284,000</td>
<td>0.05</td>
</tr>
<tr>
<td>APO</td>
<td>Apn Outdoor Group Limited</td>
<td>Consumer Discretionary</td>
<td>984,692,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AQG</td>
<td>Alacer Gold Corp Cdi 1:1</td>
<td>Materials</td>
<td>195,595,000</td>
<td>0.01</td>
</tr>
<tr>
<td>ARB</td>
<td>ARB Corporation Limited</td>
<td>Consumer Discretionary</td>
<td>1,397,600,000</td>
<td>0.08</td>
</tr>
<tr>
<td>ARF</td>
<td>Arena Reit Stapled</td>
<td>Real Estate</td>
<td>436,886,000</td>
<td>0.03</td>
</tr>
<tr>
<td>ASB</td>
<td>Austal Limited</td>
<td>Industrials</td>
<td>607,433,000</td>
<td>0.04</td>
</tr>
<tr>
<td>AST</td>
<td>Ausnet Services Limited</td>
<td>Utilities</td>
<td>5,692,980,000</td>
<td>0.34</td>
</tr>
<tr>
<td>ASX</td>
<td>ASX Limited</td>
<td>Financials</td>
<td>9,629,420,000</td>
<td>0.58</td>
</tr>
<tr>
<td>AVN</td>
<td>Aventus Retail Property Fund Unit</td>
<td>Real Estate</td>
<td>930,532,000</td>
<td>0.06</td>
</tr>
<tr>
<td>AWC</td>
<td>Alumina Limited</td>
<td>Materials</td>
<td>5,270,110,000</td>
<td>0.32</td>
</tr>
<tr>
<td>AWE</td>
<td>AWE Limited</td>
<td>Energy</td>
<td>327,457,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AYS</td>
<td>Amaysim Australia Limited</td>
<td>Telecommunication Services</td>
<td>365,136,000</td>
<td>0.02</td>
</tr>
<tr>
<td>AZJ</td>
<td>Aurizon Holdings Limited</td>
<td>Industrials</td>
<td>10,361,300,000</td>
<td>0.62</td>
</tr>
<tr>
<td>BAL</td>
<td>Bellamy’s Australia Limited</td>
<td>Consumer Staples</td>
<td>645,866,000</td>
<td>0.04</td>
</tr>
<tr>
<td>BAP</td>
<td>Bapcor Limited</td>
<td>Consumer Discretionary</td>
<td>1,644,680,000</td>
<td>0.1</td>
</tr>
<tr>
<td>BBN</td>
<td>Baby Bunting Group Limited</td>
<td>Consumer Discretionary</td>
<td>305,501,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BDR</td>
<td>Beadell Resources Limited</td>
<td>Materials</td>
<td>285,543,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BEN</td>
<td>Bendigo And Adelaide Bank Limited</td>
<td>Financials</td>
<td>6,007,070,000</td>
<td>0.36</td>
</tr>
<tr>
<td>BGA</td>
<td>Bega Cheese Limited</td>
<td>Consumer Staples</td>
<td>647,036,000</td>
<td>0.04</td>
</tr>
<tr>
<td>BHP</td>
<td>BHP Billiton Limited</td>
<td>Materials</td>
<td>80,485,000,000</td>
<td>4.82</td>
</tr>
<tr>
<td>BKL</td>
<td>Blackmores Limited</td>
<td>Consumer Staples</td>
<td>1,780,460,000</td>
<td>0.11</td>
</tr>
<tr>
<td>BKW</td>
<td>Brickworks Limited</td>
<td>Materials</td>
<td>2,026,350,000</td>
<td>0.12</td>
</tr>
<tr>
<td>BLA</td>
<td>Blue SKY Alternative Investments Limited</td>
<td>Financials</td>
<td>471,915,000</td>
<td>0.03</td>
</tr>
<tr>
<td>BLD</td>
<td>Boral Limited</td>
<td>Materials</td>
<td>6,342,320,000</td>
<td>0.38</td>
</tr>
<tr>
<td>BOQ</td>
<td>Bank of Queensland Limited</td>
<td>Financials</td>
<td>4,597,540,000</td>
<td>0.28</td>
</tr>
<tr>
<td>BPT</td>
<td>Beach Energy Limited</td>
<td>Energy</td>
<td>1,585,330,000</td>
<td>0.09</td>
</tr>
<tr>
<td>BRG</td>
<td>Breville Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,126,630,000</td>
<td>0.07</td>
</tr>
<tr>
<td>BSL</td>
<td>Bluescope Steel Limited</td>
<td>Materials</td>
<td>5,325,730,000</td>
<td>0.32</td>
</tr>
<tr>
<td>BTT</td>
<td>BT Investment Management Limited</td>
<td>Financials</td>
<td>3,303,480,000</td>
<td>0.2</td>
</tr>
<tr>
<td>BWP</td>
<td>BWP Trust Ord Units</td>
<td>Real Estate</td>
<td>1,920,730,000</td>
<td>0.11</td>
</tr>
<tr>
<td>BWX</td>
<td>BWX Limited</td>
<td>Consumer Staples</td>
<td>373,799,000</td>
<td>0.02</td>
</tr>
<tr>
<td>BXB</td>
<td>Brambles Limited</td>
<td>Industrials</td>
<td>19,696,700,000</td>
<td>1.18</td>
</tr>
<tr>
<td>CAB</td>
<td>Cabcharge Australia Limited</td>
<td>Industrials</td>
<td>467,271,000</td>
<td>0.03</td>
</tr>
<tr>
<td>CAR</td>
<td>Carsales.com Limited</td>
<td>Information Technology</td>
<td>2,740,040,000</td>
<td>0.16</td>
</tr>
<tr>
<td>CBA</td>
<td>Commonwealth Bank of Australia</td>
<td>Financials</td>
<td>142,007,000,000</td>
<td>8.5</td>
</tr>
<tr>
<td>CCL</td>
<td>Coca-cola Amatil Limited</td>
<td>Consumer Staples</td>
<td>7,727,530,000</td>
<td>0.46</td>
</tr>
<tr>
<td>CCP</td>
<td>Credit Corp Group Limited</td>
<td>Financials</td>
<td>849,522,000</td>
<td>0.05</td>
</tr>
<tr>
<td>CCV</td>
<td>Cash Converters International</td>
<td>Consumer Discretionary</td>
<td>165,171,000</td>
<td>0.01</td>
</tr>
<tr>
<td>CDD</td>
<td>Cardno Limited</td>
<td>Industrials</td>
<td>453,212,000</td>
<td>0.03</td>
</tr>
<tr>
<td>CGC</td>
<td>Costa Group Holdings Limited</td>
<td>Consumer Staples</td>
<td>1,097,640,000</td>
<td>0.07</td>
</tr>
<tr>
<td>CGF</td>
<td>Challenger Limited</td>
<td>Financials</td>
<td>6,425,600,000</td>
<td>0.38</td>
</tr>
<tr>
<td>CHC</td>
<td>Charter Hall Group Forus</td>
<td>Real Estate</td>
<td>1,956,280,000</td>
<td>0.12</td>
</tr>
<tr>
<td>CIM</td>
<td>Cimic Group Limited</td>
<td>Industrials</td>
<td>11,329,400,000</td>
<td>0.68</td>
</tr>
<tr>
<td>CKF</td>
<td>Collins Foods Limited</td>
<td>Consumer Discretionary</td>
<td>629,886,000</td>
<td>0.04</td>
</tr>
<tr>
<td>CL1</td>
<td>Class Limited</td>
<td>Information Technology</td>
<td>334,165,000</td>
<td>0.02</td>
</tr>
<tr>
<td>CMW</td>
<td>Cromwell Property Group Stapled</td>
<td>Real Estate</td>
<td>1,732,510,000</td>
<td>0.1</td>
</tr>
<tr>
<td>CNU</td>
<td>Chorus Limited NZX</td>
<td>Telecommunication Services</td>
<td>1,558,770,000</td>
<td>0.09</td>
</tr>
<tr>
<td>COH</td>
<td>Cochlear Limited</td>
<td>Health Care</td>
<td>7,037,640,000</td>
<td>0.42</td>
</tr>
<tr>
<td>CPU</td>
<td>Computershare Limited</td>
<td>Information Technology</td>
<td>6,807,220,000</td>
<td>0.41</td>
</tr>
<tr>
<td>CQR</td>
<td>Charter Hall Retail Reit Unit</td>
<td>Real Estate</td>
<td>1,718,180,000</td>
<td>0.1</td>
</tr>
<tr>
<td>CSL</td>
<td>CSL Limited</td>
<td>Health Care</td>
<td>45,783,800,000</td>
<td>2.74</td>
</tr>
<tr>
<td>CSR</td>
<td>CSR Limited</td>
<td>Materials</td>
<td>2,330,700,000</td>
<td>0.14</td>
</tr>
<tr>
<td>CSV</td>
<td>CSG Limited</td>
<td>Information Technology</td>
<td>233,404,000</td>
<td>0.01</td>
</tr>
<tr>
<td>CTD</td>
<td>Corporate Travel Management Limited</td>
<td>Consumer Discretionary</td>
<td>1,823,200,000</td>
<td>0.11</td>
</tr>
<tr>
<td>CTX</td>
<td>Caltex Australia Limited</td>
<td>Energy</td>
<td>7,944,290,000</td>
<td>0.48</td>
</tr>
<tr>
<td>CVO</td>
<td>Cover-more Group Limited</td>
<td>Financials</td>
<td>731,311,000</td>
<td>0.04</td>
</tr>
<tr>
<td>CWN</td>
<td>Crown Resorts Limited</td>
<td>Consumer Discretionary</td>
<td>8,434,800,000</td>
<td>0.51</td>
</tr>
<tr>
<td>CWP</td>
<td>Cedar Woods Properties Limited</td>
<td>Real Estate</td>
<td>398,403,000</td>
<td>0.02</td>
</tr>
<tr>
<td>CWY</td>
<td>Cleanaway Waste Management Limited</td>
<td>Industrials</td>
<td>1,956,840,000</td>
<td>0.12</td>
</tr>
<tr>
<td>CYB</td>
<td>CYBG PLC Cdi 1:1</td>
<td>Financials</td>
<td>3,596,910,000</td>
<td>0.22</td>
</tr>
<tr>
<td>DCN</td>
<td>Dacian Gold Limited</td>
<td>Materials</td>
<td>301,351,000</td>
<td>0.02</td>
</tr>
<tr>
<td>DLX</td>
<td>Duluxgroup Limited</td>
<td>Materials</td>
<td>2,428,920,000</td>
<td>0.15</td>
</tr>
<tr>
<td>DMP</td>
<td>Domino’s Pizza Enterprises Limited</td>
<td>Consumer Discretionary</td>
<td>5,773,160,000</td>
<td>0.35</td>
</tr>
<tr>
<td>DNA</td>
<td>Donaco International Limited</td>
<td>Consumer Discretionary</td>
<td>303,392,000</td>
<td>0.02</td>
</tr>
<tr>
<td>DOW</td>
<td>Downer Edi Limited</td>
<td>Industrials</td>
<td>2,586,940,000</td>
<td>0.15</td>
</tr>
<tr>
<td>DRM</td>
<td>Doray Minerals Limited</td>
<td>Materials</td>
<td>153,476,000</td>
<td>0.01</td>
</tr>
<tr>
<td>DUE</td>
<td>Duet Group Forus</td>
<td>Utilities</td>
<td>6,666,540,000</td>
<td>0.4</td>
</tr>
<tr>
<td>DXS</td>
<td>Dexus Property Group Stapled</td>
<td>Real Estate</td>
<td>9,311,660,000</td>
<td>0.56</td>
</tr>
<tr>
<td>ECX</td>
<td>Eclipx Group Limited</td>
<td>Financials</td>
<td>991,813,000</td>
<td>0.06</td>
</tr>
<tr>
<td>EHE</td>
<td>Estia Health Limited</td>
<td>Health Care</td>
<td>594,709,000</td>
<td>0.04</td>
</tr>
<tr>
<td>ELD</td>
<td>Elders Limited</td>
<td>Consumer Staples</td>
<td>452,022,000</td>
<td>0.03</td>
</tr>
<tr>
<td>EML</td>
<td>EML Payments Limited</td>
<td>Financials</td>
<td>448,920,000</td>
<td>0.03</td>
</tr>
<tr>
<td>EPW</td>
<td>Erm Power Limited</td>
<td>Utilities</td>
<td>323,986,000</td>
<td>0.02</td>
</tr>
<tr>
<td>EQT</td>
<td>EQT Holdings Limited</td>
<td>Financials</td>
<td>350,966,000</td>
<td>0.02</td>
</tr>
<tr>
<td>EVN</td>
<td>Evolution Mining Limited</td>
<td>Materials</td>
<td>3,561,030,000</td>
<td>0.21</td>
</tr>
<tr>
<td>EWC</td>
<td>Energy World Corporation LTD</td>
<td>Utilities</td>
<td>450,883,000</td>
<td>0.03</td>
</tr>
<tr>
<td>FAR</td>
<td>FAR Limited</td>
<td>Energy</td>
<td>334,615,000</td>
<td>0.02</td>
</tr>
<tr>
<td>FBU</td>
<td>Fletcher Building Limited NZX</td>
<td>Materials</td>
<td>7,168,870,000</td>
<td>0.43</td>
</tr>
<tr>
<td>FET</td>
<td>Folkestone Education Trust Unit</td>
<td>Real Estate</td>
<td>633,272,000</td>
<td>0.04</td>
</tr>
<tr>
<td>FLT</td>
<td>Flight Centre Travel Group Limited</td>
<td>Consumer Discretionary</td>
<td>3,160,500,000</td>
<td>0.19</td>
</tr>
<tr>
<td>FMG</td>
<td>Fortescue Metals Group LTD</td>
<td>Materials</td>
<td>18,340,300,000</td>
<td>1.1</td>
</tr>
<tr>
<td>FNP</td>
<td>Freedom Foods Group Limited</td>
<td>Consumer Staples</td>
<td>865,644,000</td>
<td>0.05</td>
</tr>
<tr>
<td>FPH</td>
<td>Fisher & Paykel Healthcare Corporation Limited NZX</td>
<td>Health Care</td>
<td>4,647,370,000</td>
<td>0.28</td>
</tr>
<tr>
<td>FSF</td>
<td>Fonterra Shareholders’ Fund Unit NZX</td>
<td>Consumer Staples</td>
<td>697,194,000</td>
<td>0.04</td>
</tr>
<tr>
<td>FXJ</td>
<td>Fairfax Media Limited</td>
<td>Consumer Discretionary</td>
<td>2,046,530,000</td>
<td>0.12</td>
</tr>
<tr>
<td>FXL</td>
<td>Flexigroup Limited</td>
<td>Financials</td>
<td>841,515,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GBT</td>
<td>GBST Holdings Limited</td>
<td>Information Technology</td>
<td>255,150,000</td>
<td>0.02</td>
</tr>
<tr>
<td>GDI</td>
<td>GDI Property Group Stapled</td>
<td>Real Estate</td>
<td>533,431,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GEM</td>
<td>G8 Education Limited</td>
<td>Consumer Discretionary</td>
<td>1,373,220,000</td>
<td>0.08</td>
</tr>
<tr>
<td>GHC</td>
<td>Generation Healthcare Reit Units</td>
<td>Real Estate</td>
<td>421,122,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GMA</td>
<td>Genworth Mortgage Insurance Australia Limited</td>
<td>Financials</td>
<td>1,665,620,000</td>
<td>0.1</td>
</tr>
<tr>
<td>GMG</td>
<td>Goodman Group Stapled</td>
<td>Real Estate</td>
<td>12,756,400,000</td>
<td>0.76</td>
</tr>
<tr>
<td>GNC</td>
<td>Graincorp Limited</td>
<td>Consumer Staples</td>
<td>2,187,860,000</td>
<td>0.13</td>
</tr>
<tr>
<td>GOR</td>
<td>Gold Road Resources Limited</td>
<td>Materials</td>
<td>500,853,000</td>
<td>0.03</td>
</tr>
<tr>
<td>GOZ</td>
<td>Growthpoint Properties Australia Stapled</td>
<td>Real Estate</td>
<td>2,103,870,000</td>
<td>0.13</td>
</tr>
<tr>
<td>GPT</td>
<td>GPT Group Stapled</td>
<td>Real Estate</td>
<td>9,043,720,000</td>
<td>0.54</td>
</tr>
<tr>
<td>GTY</td>
<td>Gateway Lifestyle Group Stapled</td>
<td>Real Estate</td>
<td>646,699,000</td>
<td>0.04</td>
</tr>
<tr>
<td>GUD</td>
<td>G.u.d. Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>897,693,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GWA</td>
<td>GWA Group Limited</td>
<td>Industrials</td>
<td>781,285,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GXL</td>
<td>Greencross Limited</td>
<td>Consumer Discretionary</td>
<td>796,804,000</td>
<td>0.05</td>
</tr>
<tr>
<td>GXY</td>
<td>Galaxy Resources Limited</td>
<td>Materials</td>
<td>962,087,000</td>
<td>0.06</td>
</tr>
<tr>
<td>HFA</td>
<td>HFA Holdings Limited</td>
<td>Financials</td>
<td>389,155,000</td>
<td>0.02</td>
</tr>
<tr>
<td>HFR</td>
<td>Highfield Resources Limited</td>
<td>Materials</td>
<td>427,495,000</td>
<td>0.03</td>
</tr>
<tr>
<td>HGG</td>
<td>Henderson Group PLC Cdi 1:1</td>
<td>Financials</td>
<td>2,875,710,000</td>
<td>0.17</td>
</tr>
<tr>
<td>HPI</td>
<td>Hotel Property Investments Stapled</td>
<td>Real Estate</td>
<td>414,939,000</td>
<td>0.02</td>
</tr>
<tr>
<td>HSN</td>
<td>Hansen Technologies Limited</td>
<td>Information Technology</td>
<td>712,165,000</td>
<td>0.04</td>
</tr>
<tr>
<td>HSO</td>
<td>Healthscope Limited</td>
<td>Health Care</td>
<td>3,973,360,000</td>
<td>0.24</td>
</tr>
<tr>
<td>HVN</td>
<td>Harvey Norman Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>5,718,530,000</td>
<td>0.34</td>
</tr>
<tr>
<td>IAG</td>
<td>Insurance Australia Group Limited</td>
<td>Financials</td>
<td>14,181,500,000</td>
<td>0.85</td>
</tr>
<tr>
<td>IDR</td>
<td>Industria Reit Stapled</td>
<td>Real Estate</td>
<td>342,539,000</td>
<td>0.02</td>
</tr>
<tr>
<td>IEL</td>
<td>Idp Education Limited</td>
<td>Consumer Discretionary</td>
<td>998,677,000</td>
<td>0.06</td>
</tr>
<tr>
<td>IFL</td>
<td>Ioof Holdings Limited</td>
<td>Financials</td>
<td>2,764,230,000</td>
<td>0.17</td>
</tr>
<tr>
<td>IFM</td>
<td>Infomedia LTD</td>
<td>Information Technology</td>
<td>226,901,000</td>
<td>0.01</td>
</tr>
<tr>
<td>IFN</td>
<td>Infigen Energy Stapled</td>
<td>Utilities</td>
<td>702,520,000</td>
<td>0.04</td>
</tr>
<tr>
<td>IGO</td>
<td>Independence Group NL</td>
<td>Materials</td>
<td>2,534,540,000</td>
<td>0.15</td>
</tr>
<tr>
<td>ILU</td>
<td>Iluka Resources Limited</td>
<td>Materials</td>
<td>3,043,950,000</td>
<td>0.18</td>
</tr>
<tr>
<td>IMF</td>
<td>IMF Bentham Limited</td>
<td>Financials</td>
<td>299,584,000</td>
<td>0.02</td>
</tr>
<tr>
<td>INA</td>
<td>Ingenia Communities Group Stapled</td>
<td>Real Estate</td>
<td>476,268,000</td>
<td>0.03</td>
</tr>
<tr>
<td>INM</td>
<td>Iron Mountain Incorporated Cdi 1:1</td>
<td>Real Estate</td>
<td>2,146,340,000</td>
<td>0.13</td>
</tr>
<tr>
<td>IOF</td>
<td>Investa Office Fund Stapled</td>
<td>Real Estate</td>
<td>2,898,300,000</td>
<td>0.17</td>
</tr>
<tr>
<td>IPD</td>
<td>Impedimed Limited</td>
<td>Health Care</td>
<td>386,258,000</td>
<td>0.02</td>
</tr>
<tr>
<td>IPH</td>
<td>IPH Limited</td>
<td>Industrials</td>
<td>980,110,000</td>
<td>0.06</td>
</tr>
<tr>
<td>IPL</td>
<td>Incitec Pivot Limited</td>
<td>Materials</td>
<td>6,073,810,000</td>
<td>0.36</td>
</tr>
<tr>
<td>IRE</td>
<td>Iress Limited</td>
<td>Information Technology</td>
<td>2,017,390,000</td>
<td>0.12</td>
</tr>
<tr>
<td>ISD</td>
<td>Isentia Group Limited</td>
<td>Information Technology</td>
<td>574,000,000</td>
<td>0.03</td>
</tr>
<tr>
<td>ISU</td>
<td>Iselect Limited</td>
<td>Consumer Discretionary</td>
<td>439,875,000</td>
<td>0.03</td>
</tr>
<tr>
<td>IVC</td>
<td>Invocare Limited</td>
<td>Consumer Discretionary</td>
<td>1,526,120,000</td>
<td>0.09</td>
</tr>
<tr>
<td>JBH</td>
<td>JB Hi-fi Limited</td>
<td>Consumer Discretionary</td>
<td>3,206,810,000</td>
<td>0.19</td>
</tr>
<tr>
<td>JHC</td>
<td>Japara Healthcare Limited</td>
<td>Health Care</td>
<td>599,216,000</td>
<td>0.04</td>
</tr>
<tr>
<td>JHX</td>
<td>James Hardie Industries PLC Cdi 1:1</td>
<td>Materials</td>
<td>9,685,290,000</td>
<td>0.58</td>
</tr>
<tr>
<td>KAR</td>
<td>Karoon Gas Australia Limited</td>
<td>Energy</td>
<td>441,229,000</td>
<td>0.03</td>
</tr>
<tr>
<td>KMD</td>
<td>Kathmandu Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>375,769,000</td>
<td>0.02</td>
</tr>
<tr>
<td>LLC</td>
<td>Lendlease Group Stapled</td>
<td>Real Estate</td>
<td>8,523,310,000</td>
<td>0.51</td>
</tr>
<tr>
<td>LNG</td>
<td>Liquefied Natural Gas Limited</td>
<td>Energy</td>
<td>345,619,000</td>
<td>0.02</td>
</tr>
<tr>
<td>LNK</td>
<td>Link Administration Holdings Limited</td>
<td>Information Technology</td>
<td>2,723,670,000</td>
<td>0.16</td>
</tr>
<tr>
<td>LYC</td>
<td>Lynas Corporation Limited</td>
<td>Materials</td>
<td>257,026,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MFG</td>
<td>Magellan Financial Group Limited</td>
<td>Financials</td>
<td>4,090,260,000</td>
<td>0.24</td>
</tr>
<tr>
<td>MGC</td>
<td>MG Unit Trust Units</td>
<td>Consumer Staples</td>
<td>189,497,000</td>
<td>0.01</td>
</tr>
<tr>
<td>MGR</td>
<td>Mirvac Group Stapled</td>
<td>Real Estate</td>
<td>7,891,890,000</td>
<td>0.47</td>
</tr>
<tr>
<td>MIN</td>
<td>Mineral Resources Limited</td>
<td>Materials</td>
<td>2,266,880,000</td>
<td>0.14</td>
</tr>
<tr>
<td>MLD</td>
<td>Maca Limited</td>
<td>Materials</td>
<td>401,899,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MLX</td>
<td>Metals X Limited</td>
<td>Materials</td>
<td>341,231,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MMS</td>
<td>Mcmillan Shakespeare Limited</td>
<td>Industrials</td>
<td>904,435,000</td>
<td>0.05</td>
</tr>
<tr>
<td>MND</td>
<td>Monadelphous Group Limited</td>
<td>Industrials</td>
<td>1,053,870,000</td>
<td>0.06</td>
</tr>
<tr>
<td>MNS</td>
<td>Magnis Resources Limited</td>
<td>Materials</td>
<td>339,749,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MOC</td>
<td>Mortgage Choice Limited</td>
<td>Financials</td>
<td>298,651,000</td>
<td>0.02</td>
</tr>
<tr>
<td>MPL</td>
<td>Medibank Private Limited</td>
<td>Financials</td>
<td>7,766,290,000</td>
<td>0.46</td>
</tr>
<tr>
<td>MQA</td>
<td>Macquarie Atlas Roads Group Stapled</td>
<td>Industrials</td>
<td>2,677,160,000</td>
<td>0.16</td>
</tr>
<tr>
<td>MQG</td>
<td>Macquarie Group Limited</td>
<td>Financials</td>
<td>29,651,400,000</td>
<td>1.78</td>
</tr>
<tr>
<td>MSB</td>
<td>Mesoblast Limited</td>
<td>Health Care</td>
<td>545,765,000</td>
<td>0.03</td>
</tr>
<tr>
<td>MTR</td>
<td>Mantra Group Limited</td>
<td>Consumer Discretionary</td>
<td>915,396,000</td>
<td>0.05</td>
</tr>
<tr>
<td>MTS</td>
<td>Metcash Limited</td>
<td>Consumer Staples</td>
<td>2,224,460,000</td>
<td>0.13</td>
</tr>
<tr>
<td>MVF</td>
<td>Monash Ivf Group Limited</td>
<td>Health Care</td>
<td>482,561,000</td>
<td>0.03</td>
</tr>
<tr>
<td>MYO</td>
<td>Myob Group Limited</td>
<td>Information Technology</td>
<td>2,193,740,000</td>
<td>0.13</td>
</tr>
<tr>
<td>MYR</td>
<td>Myer Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>1,133,360,000</td>
<td>0.07</td>
</tr>
<tr>
<td>MYX</td>
<td>Mayne Pharma Group Limited</td>
<td>Health Care</td>
<td>2,016,060,000</td>
<td>0.12</td>
</tr>
<tr>
<td>NAB</td>
<td>National Australia Bank Limited</td>
<td>Financials</td>
<td>81,896,800,000</td>
<td>4.9</td>
</tr>
<tr>
<td>NAN</td>
<td>Nanosonics Limited</td>
<td>Health Care</td>
<td>925,950,000</td>
<td>0.06</td>
</tr>
<tr>
<td>NCM</td>
<td>Newcrest Mining Limited</td>
<td>Materials</td>
<td>15,526,400,000</td>
<td>0.93</td>
</tr>
<tr>
<td>NEC</td>
<td>Nine Entertainment Co. Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>928,012,000</td>
<td>0.06</td>
</tr>
<tr>
<td>NHF</td>
<td>Nib Holdings Limited</td>
<td>Financials</td>
<td>2,085,270,000</td>
<td>0.12</td>
</tr>
<tr>
<td>NSR</td>
<td>National Storage Reit Stapled</td>
<td>Real Estate</td>
<td>752,272,000</td>
<td>0.05</td>
</tr>
<tr>
<td>NST</td>
<td>Northern Star Resources LTD</td>
<td>Materials</td>
<td>2,173,960,000</td>
<td>0.13</td>
</tr>
<tr>
<td>NTC</td>
<td>Netcomm Wireless Limited</td>
<td>Information Technology</td>
<td>314,609,000</td>
<td>0.02</td>
</tr>
<tr>
<td>NUF</td>
<td>Nufarm Limited</td>
<td>Materials</td>
<td>2,443,350,000</td>
<td>0.15</td>
</tr>
<tr>
<td>NVT</td>
<td>Navitas Limited</td>
<td>Consumer Discretionary</td>
<td>1,809,900,000</td>
<td>0.11</td>
</tr>
<tr>
<td>NWS</td>
<td>News Corporation. B Voting</td>
<td>Consumer Discretionary</td>
<td>713,820,000</td>
<td>0.04</td>
</tr>
<tr>
<td>NXT</td>
<td>Nextdc Limited</td>
<td>Information Technology</td>
<td>1,034,020,000</td>
<td>0.06</td>
</tr>
<tr>
<td>OFX</td>
<td>OFX Group Limited</td>
<td>Financials</td>
<td>403,200,000</td>
<td>0.02</td>
</tr>
<tr>
<td>OGC</td>
<td>Oceanagold Corporation Cdi 1:1</td>
<td>Materials</td>
<td>2,566,080,000</td>
<td>0.15</td>
</tr>
<tr>
<td>OML</td>
<td>Ooh!media Limited</td>
<td>Consumer Discretionary</td>
<td>750,111,000</td>
<td>0.04</td>
</tr>
<tr>
<td>ORA</td>
<td>Orora Limited</td>
<td>Materials</td>
<td>3,607,990,000</td>
<td>0.22</td>
</tr>
<tr>
<td>ORE</td>
<td>Orocobre Limited</td>
<td>Materials</td>
<td>952,752,000</td>
<td>0.06</td>
</tr>
<tr>
<td>ORG</td>
<td>Origin Energy Limited</td>
<td>Energy</td>
<td>11,564,700,000</td>
<td>0.69</td>
</tr>
<tr>
<td>ORI</td>
<td>Orica Limited</td>
<td>Materials</td>
<td>6,650,790,000</td>
<td>0.4</td>
</tr>
<tr>
<td>OSH</td>
<td>Oil Search Limited 10T</td>
<td>Energy</td>
<td>10,917,700,000</td>
<td>0.65</td>
</tr>
<tr>
<td>OZL</td>
<td>Oz Minerals Limited</td>
<td>Materials</td>
<td>2,394,380,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PDN</td>
<td>Paladin Energy LTD</td>
<td>Energy</td>
<td>147,305,000</td>
<td>0.01</td>
</tr>
<tr>
<td>PGH</td>
<td>Pact Group Holdings LTD</td>
<td>Materials</td>
<td>2,019,830,000</td>
<td>0.12</td>
</tr>
<tr>
<td>PLS</td>
<td>Pilbara Minerals Limited</td>
<td>Materials</td>
<td>631,223,000</td>
<td>0.04</td>
</tr>
<tr>
<td>PMV</td>
<td>Premier Investments Limited</td>
<td>Consumer Discretionary</td>
<td>2,273,320,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PPT</td>
<td>Perpetual Limited</td>
<td>Financials</td>
<td>2,270,970,000</td>
<td>0.14</td>
</tr>
<tr>
<td>PRG</td>
<td>Programmed Maintenance Services Limited</td>
<td>Industrials</td>
<td>495,320,000</td>
<td>0.03</td>
</tr>
<tr>
<td>PRU</td>
<td>Perseus Mining Limited</td>
<td>Materials</td>
<td>345,659,000</td>
<td>0.02</td>
</tr>
<tr>
<td>PRY</td>
<td>Primary Health Care Limited</td>
<td>Health Care</td>
<td>2,127,450,000</td>
<td>0.13</td>
</tr>
<tr>
<td>PTM</td>
<td>Platinum Asset Management Limited</td>
<td>Financials</td>
<td>3,097,660,000</td>
<td>0.19</td>
</tr>
<tr>
<td>QAN</td>
<td>Qantas Airways Limited</td>
<td>Industrials</td>
<td>6,154,980,000</td>
<td>0.37</td>
</tr>
<tr>
<td>QBE</td>
<td>QBE Insurance Group Limited</td>
<td>Financials</td>
<td>17,035,200,000</td>
<td>1.02</td>
</tr>
<tr>
<td>QUB</td>
<td>Qube Holdings Limited</td>
<td>Industrials</td>
<td>3,542,670,000</td>
<td>0.21</td>
</tr>
<tr>
<td>RCG</td>
<td>RCG Corporation Limited</td>
<td>Consumer Discretionary</td>
<td>803,817,000</td>
<td>0.05</td>
</tr>
<tr>
<td>RCR</td>
<td>RCR Tomlinson Limited</td>
<td>Industrials</td>
<td>384,899,000</td>
<td>0.02</td>
</tr>
<tr>
<td>REA</td>
<td>REA Group LTD</td>
<td>Consumer Discretionary</td>
<td>7,274,600,000</td>
<td>0.44</td>
</tr>
<tr>
<td>REG</td>
<td>Regis Healthcare Limited</td>
<td>Health Care</td>
<td>1,375,640,000</td>
<td>0.08</td>
</tr>
<tr>
<td>RFF</td>
<td>Rural Funds Group Stapled</td>
<td>Real Estate</td>
<td>361,802,000</td>
<td>0.02</td>
</tr>
<tr>
<td>RFG</td>
<td>Retail Food Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,235,900,000</td>
<td>0.07</td>
</tr>
<tr>
<td>RHC</td>
<td>Ramsay Health Care Limited</td>
<td>Health Care</td>
<td>13,802,100,000</td>
<td>0.83</td>
</tr>
<tr>
<td>RIC</td>
<td>Ridley Corporation Limited</td>
<td>Consumer Staples</td>
<td>384,771,000</td>
<td>0.02</td>
</tr>
<tr>
<td>RIO</td>
<td>RIO Tinto Limited</td>
<td>Materials</td>
<td>25,409,100,000</td>
<td>1.52</td>
</tr>
<tr>
<td>RMD</td>
<td>Resmed Inc Cdi 10:1</td>
<td>Health Care</td>
<td>12,088,200,000</td>
<td>0.72</td>
</tr>
<tr>
<td>RRL</td>
<td>Regis Resources Limited</td>
<td>Materials</td>
<td>1,487,950,000</td>
<td>0.09</td>
</tr>
<tr>
<td>RSG</td>
<td>Resolute Mining Limited</td>
<td>Materials</td>
<td>958,078,000</td>
<td>0.06</td>
</tr>
<tr>
<td>RWC</td>
<td>Reliance Worldwide Corporation Limited</td>
<td>Industrials</td>
<td>1,680,000,000</td>
<td>0.1</td>
</tr>
<tr>
<td>S32</td>
<td>SOUTH32 Limited</td>
<td>Materials</td>
<td>14,640,300,000</td>
<td>0.88</td>
</tr>
<tr>
<td>SAR</td>
<td>Saracen Mineral Holdings Limited</td>
<td>Materials</td>
<td>799,048,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SBM</td>
<td>ST Barbara Limited</td>
<td>Materials</td>
<td>1,014,560,000</td>
<td>0.06</td>
</tr>
<tr>
<td>SCG</td>
<td>Scentre Group Stapled</td>
<td>Real Estate</td>
<td>24,704,700,000</td>
<td>1.48</td>
</tr>
<tr>
<td>SCP</td>
<td>Shopping Centres Australasia Property Group Stapled</td>
<td>Real Estate</td>
<td>1,622,440,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SDA</td>
<td>Speedcast International Limited</td>
<td>Telecommunication Services</td>
<td>831,140,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SDF</td>
<td>Steadfast Group Limited</td>
<td>Financials</td>
<td>1,656,950,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SEH</td>
<td>Sino Gas & Energy Holdings Limited</td>
<td>Energy</td>
<td>238,553,000</td>
<td>0.01</td>
</tr>
<tr>
<td>SEK</td>
<td>Seek Limited</td>
<td>Industrials</td>
<td>5,175,350,000</td>
<td>0.31</td>
</tr>
<tr>
<td>SFR</td>
<td>Sandfire Resources NL</td>
<td>Materials</td>
<td>889,630,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SGF</td>
<td>SG Fleet Group Limited</td>
<td>Industrials</td>
<td>842,593,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SGM</td>
<td>Sims Metal Management Limited</td>
<td>Materials</td>
<td>2,533,180,000</td>
<td>0.15</td>
</tr>
<tr>
<td>SGP</td>
<td>Stockland Stapled</td>
<td>Real Estate</td>
<td>11,015,100,000</td>
<td>0.66</td>
</tr>
<tr>
<td>SGR</td>
<td>The Star Entertainment Group Limited</td>
<td>Consumer Discretionary</td>
<td>4,268,730,000</td>
<td>0.26</td>
</tr>
<tr>
<td>SHL</td>
<td>Sonic Healthcare Limited</td>
<td>Health Care</td>
<td>8,908,830,000</td>
<td>0.53</td>
</tr>
<tr>
<td>SHV</td>
<td>Select Harvests Limited</td>
<td>Consumer Staples</td>
<td>487,950,000</td>
<td>0.03</td>
</tr>
<tr>
<td>SIP</td>
<td>Sigma Pharmaceuticals Limited</td>
<td>Health Care</td>
<td>1,390,650,000</td>
<td>0.08</td>
</tr>
<tr>
<td>SIQ</td>
<td>Smartgroup Corporation LTD</td>
<td>Industrials</td>
<td>762,939,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SIV</td>
<td>Silver Chef Limited</td>
<td>Industrials</td>
<td>319,297,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SKC</td>
<td>Skycity Entertainment Group Limited NZX</td>
<td>Consumer Discretionary</td>
<td>2,486,980,000</td>
<td>0.15</td>
</tr>
<tr>
<td>SKI</td>
<td>Spark Infrastructure Group Forus</td>
<td>Utilities</td>
<td>4,003,190,000</td>
<td>0.24</td>
</tr>
<tr>
<td>SKT</td>
<td>SKY Network Television Limited NZ</td>
<td>Consumer Discretionary</td>
<td>1,723,890,000</td>
<td>0.1</td>
</tr>
<tr>
<td>SLK</td>
<td>Sealink Travel Group Limited</td>
<td>Consumer Discretionary</td>
<td>464,297,000</td>
<td>0.03</td>
</tr>
<tr>
<td>SPK</td>
<td>Spark New Zealand Limited NZX</td>
<td>Telecommunication Services</td>
<td>6,029,170,000</td>
<td>0.36</td>
</tr>
<tr>
<td>SPL</td>
<td>Starpharma Holdings Limited</td>
<td>Health Care</td>
<td>267,189,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SPO</td>
<td>Spotless Group Holdings Limited</td>
<td>Industrials</td>
<td>1,087,310,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SRX</td>
<td>Sirtex Medical Limited</td>
<td>Health Care</td>
<td>817,559,000</td>
<td>0.05</td>
</tr>
<tr>
<td>SSM</td>
<td>Service Stream Limited</td>
<td>Industrials</td>
<td>401,708,000</td>
<td>0.02</td>
</tr>
<tr>
<td>STO</td>
<td>Santos Limited</td>
<td>Energy</td>
<td>8,168,810,000</td>
<td>0.49</td>
</tr>
<tr>
<td>SUL</td>
<td>Super Retail Group Limited</td>
<td>Consumer Discretionary</td>
<td>2,041,430,000</td>
<td>0.12</td>
</tr>
<tr>
<td>SUN</td>
<td>Suncorp Group Limited</td>
<td>Financials</td>
<td>17,443,500,000</td>
<td>1.04</td>
</tr>
<tr>
<td>SVW</td>
<td>Seven Group Holdings Limited</td>
<td>Industrials</td>
<td>2,204,930,000</td>
<td>0.13</td>
</tr>
<tr>
<td>SWM</td>
<td>Seven West Media Limited</td>
<td>Consumer Discretionary</td>
<td>1,213,970,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SXL</td>
<td>Southern Cross Media Group Limited</td>
<td>Consumer Discretionary</td>
<td>1,188,130,000</td>
<td>0.07</td>
</tr>
<tr>
<td>SXY</td>
<td>Senex Energy Limited</td>
<td>Energy</td>
<td>305,906,000</td>
<td>0.02</td>
</tr>
<tr>
<td>SYD</td>
<td>Sydney Airport Forus</td>
<td>Industrials</td>
<td>13,476,500,000</td>
<td>0.81</td>
</tr>
<tr>
<td>SYR</td>
<td>Syrah Resources Limited</td>
<td>Materials</td>
<td>804,460,000</td>
<td>0.05</td>
</tr>
<tr>
<td>TAH</td>
<td>Tabcorp Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>4,017,630,000</td>
<td>0.24</td>
</tr>
<tr>
<td>TCL</td>
<td>Transurban Group Stapled</td>
<td>Industrials</td>
<td>21,081,100,000</td>
<td>1.26</td>
</tr>
<tr>
<td>TEN</td>
<td>TEN Network Holdings Limited</td>
<td>Consumer Discretionary</td>
<td>334,995,000</td>
<td>0.02</td>
</tr>
<tr>
<td>TFC</td>
<td>TFS Corporation Limited</td>
<td>Materials</td>
<td>647,732,000</td>
<td>0.04</td>
</tr>
<tr>
<td>TGA</td>
<td>Thorn Group Limited</td>
<td>Consumer Discretionary</td>
<td>300,588,000</td>
<td>0.02</td>
</tr>
<tr>
<td>TGR</td>
<td>Tassal Group Limited</td>
<td>Consumer Staples</td>
<td>623,669,000</td>
<td>0.04</td>
</tr>
<tr>
<td>TIX</td>
<td>360 Capital Industrial Fund Ord Unit</td>
<td>Real Estate</td>
<td>532,013,000</td>
<td>0.03</td>
</tr>
<tr>
<td>TLS</td>
<td>Telstra Corporation Limited</td>
<td>Telecommunication Services</td>
<td>60,911,800,000</td>
<td>3.65</td>
</tr>
<tr>
<td>TME</td>
<td>Trade Me Group Limited NZX</td>
<td>Consumer Discretionary</td>
<td>1,926,230,000</td>
<td>0.12</td>
</tr>
<tr>
<td>TNE</td>
<td>Technology One Limited</td>
<td>Information Technology</td>
<td>1,770,140,000</td>
<td>0.11</td>
</tr>
<tr>
<td>TOX</td>
<td>TOX Free Solutions Limited</td>
<td>Industrials</td>
<td>502,320,000</td>
<td>0.03</td>
</tr>
<tr>
<td>TPM</td>
<td>TPG Telecom Limited</td>
<td>Telecommunication Services</td>
<td>5,786,590,000</td>
<td>0.35</td>
</tr>
<tr>
<td>TRS</td>
<td>The Reject Shop Limited</td>
<td>Consumer Discretionary</td>
<td>244,729,000</td>
<td>0.01</td>
</tr>
<tr>
<td>TTS</td>
<td>Tatts Group Limited</td>
<td>Consumer Discretionary</td>
<td>6,578,970,000</td>
<td>0.39</td>
</tr>
<tr>
<td>TWE</td>
<td>Treasury Wine Estates Limited</td>
<td>Consumer Staples</td>
<td>7,883,280,000</td>
<td>0.47</td>
</tr>
<tr>
<td>VCX</td>
<td>Vicinity Centres Stapled</td>
<td>Real Estate</td>
<td>11,836,400,000</td>
<td>0.71</td>
</tr>
<tr>
<td>VLW</td>
<td>Villa World Limited</td>
<td>Real Estate</td>
<td>258,995,000</td>
<td>0.02</td>
</tr>
<tr>
<td>VOC</td>
<td>Vocus Communications Limited</td>
<td>Telecommunication Services</td>
<td>2,400,770,000</td>
<td>0.14</td>
</tr>
<tr>
<td>VRL</td>
<td>Village Roadshow Limited</td>
<td>Consumer Discretionary</td>
<td>737,762,000</td>
<td>0.04</td>
</tr>
<tr>
<td>VRT</td>
<td>Virtus Health Limited</td>
<td>Health Care</td>
<td>501,551,000</td>
<td>0.03</td>
</tr>
<tr>
<td>VTG</td>
<td>Vita Group Limited</td>
<td>Consumer Discretionary</td>
<td>490,858,000</td>
<td>0.03</td>
</tr>
<tr>
<td>VVR</td>
<td>Viva Energy Reit Stapled</td>
<td>Real Estate</td>
<td>1,656,360,000</td>
<td>0.1</td>
</tr>
<tr>
<td>WBA</td>
<td>Webster Limited</td>
<td>Consumer Staples</td>
<td>474,619,000</td>
<td>0.03</td>
</tr>
<tr>
<td>WBC</td>
<td>Westpac Banking Corporation</td>
<td>Financials</td>
<td>109,426,000,000</td>
<td>6.55</td>
</tr>
<tr>
<td>WEB</td>
<td>Webjet Limited</td>
<td>Consumer Discretionary</td>
<td>1,037,770,000</td>
<td>0.06</td>
</tr>
<tr>
<td>WES</td>
<td>Wesfarmers Limited</td>
<td>Consumer Staples</td>
<td>47,657,800,000</td>
<td>2.85</td>
</tr>
<tr>
<td>WFD</td>
<td>Westfield Corporation Stapled</td>
<td>Real Estate</td>
<td>19,492,500,000</td>
<td>1.17</td>
</tr>
<tr>
<td>WGX</td>
<td>Westgold Resources Limited</td>
<td>Materials</td>
<td>502,708,000</td>
<td>0.03</td>
</tr>
<tr>
<td>WHC</td>
<td>Whitehaven Coal Limited</td>
<td>Energy</td>
<td>2,677,980,000</td>
<td>0.16</td>
</tr>
<tr>
<td>WOR</td>
<td>Worleyparsons Limited</td>
<td>Energy</td>
<td>2,395,430,000</td>
<td>0.14</td>
</tr>
<tr>
<td>WOW</td>
<td>Woolworths Limited</td>
<td>Consumer Staples</td>
<td>31,044,700,000</td>
<td>1.86</td>
</tr>
<tr>
<td>WPL</td>
<td>Woodside Petroleum Limited</td>
<td>Energy</td>
<td>26,250,600,000</td>
<td>1.57</td>
</tr>
<tr>
<td>WPP</td>
<td>WPP Aunz LTD</td>
<td>Consumer Discretionary</td>
<td>1,031,100,000</td>
<td>0.06</td>
</tr>
<tr>
<td>WSA</td>
<td>Western Areas Limited</td>
<td>Materials</td>
<td>835,754,000</td>
<td>0.05</td>
</tr>
<tr>
<td>WTC</td>
<td>Wisetech Global Limited</td>
<td>Information Technology</td>
<td>1,642,050,000</td>
<td>0.1</td>
</tr>
</tbody>
In [7]:
# we will use these to gather data from the table
# and then to build our dataframe with
columns = []
data = []
# gather columns headers
for header in table_header.find_all('th'):
column = re.sub('\W+','', header.string.strip().lower().replace (" ", "_"))
columns.append(column)
# gather rows
for tr in table_body.find_all('tr'):
row = dict()
for col, td in zip(columns, tr.find_all('td')):
row[col] = td.string.strip()
data.append(row)
# create table in dataframe format
index = pd.DataFrame(data, columns=columns)
index = index.apply(lambda x: pd.to_numeric(x, errors='ignore'))
index['yahoo_ticker'] = index['code'] + '.AX'
index.head()
Out[7]:
code
company
sector
market_cap
weight
yahoo_ticker
0
A2M
The A2 Milk Company Limited NZ
Consumer Staples
1,460,370,000
0.09
A2M.AX
1
AAC
Australian Agricultural Company Limited
Consumer Staples
947,014,000
0.06
AAC.AX
2
AAD
Ardent Leisure Group Stapled
Consumer Discretionary
1,097,680,000
0.07
AAD.AX
3
ABC
Adelaide Brighton Limited
Materials
3,527,620,000
0.21
ABC.AX
4
ABP
Abacus Property Group Stapled
Real Estate
1,728,420,000
0.10
ABP.AX
In [8]:
# top 5 constituents
index.sort_values(by='weight', ascending=False).head()
Out[8]:
code
company
sector
market_cap
weight
yahoo_ticker
59
CBA
Commonwealth Bank of Australia
Financials
142,007,000,000
8.50
CBA.AX
287
WBC
Westpac Banking Corporation
Financials
109,426,000,000
6.55
WBC.AX
21
ANZ
Australia And New Zealand Banking Group Limited
Financials
89,314,200,000
5.35
ANZ.AX
181
NAB
National Australia Bank Limited
Financials
81,896,800,000
4.90
NAB.AX
44
BHP
BHP Billiton Limited
Materials
80,485,000,000
4.82
BHP.AX
In [9]:
# create distinct list of sectors
sectors = index['sector'].unique()
print(sectors)
['Consumer Staples' 'Consumer Discretionary' 'Materials' 'Real Estate'
'Information Technology' 'Utilities' 'Industrials' 'Financials'
'Health Care' 'Energy' 'Telecommunication Services']
In [10]:
sector_weights = index.groupby(by='sector')['weight'].sum().sort_values(ascending=False)
ax = sector_weights.plot(kind='bar')
print(sector_weights)
sector
Financials 34.95
Materials 16.31
Real Estate 8.60
Industrials 7.33
Health Care 6.77
Consumer Staples 6.63
Consumer Discretionary 6.33
Telecommunication Services 4.66
Energy 4.40
Utilities 2.53
Information Technology 1.52
Name: weight, dtype: float64
In [11]:
ax = sns.boxplot(data=index, x='sector', y='weight', linewidth=0.5, order=sector_weights.keys())
ax = plt.xticks(rotation=90)
In [12]:
sector_counts = index.groupby(by='sector')['weight'].count().sort_values(ascending=False)
ax = sector_counts.plot(kind='bar')
print(sector_counts)
sector
Consumer Discretionary 56
Materials 52
Real Estate 35
Financials 35
Industrials 30
Health Care 22
Consumer Staples 22
Information Technology 17
Energy 15
Utilities 8
Telecommunication Services 7
Name: weight, dtype: int64
In [13]:
stocks = index['yahoo_ticker'].values.tolist()
print(stocks)
['A2M.AX', 'AAC.AX', 'AAD.AX', 'ABC.AX', 'ABP.AX', 'ACX.AX', 'ADH.AX', 'AGI.AX', 'AGL.AX', 'AHG.AX', 'AHY.AX', 'AIA.AX', 'AJA.AX', 'AJX.AX', 'ALL.AX', 'ALQ.AX', 'ALU.AX', 'AMA.AX', 'AMC.AX', 'AMP.AX', 'ANN.AX', 'ANZ.AX', 'AOG.AX', 'APA.AX', 'API.AX', 'APN.AX', 'APO.AX', 'AQG.AX', 'ARB.AX', 'ARF.AX', 'ASB.AX', 'AST.AX', 'ASX.AX', 'AVN.AX', 'AWC.AX', 'AWE.AX', 'AYS.AX', 'AZJ.AX', 'BAL.AX', 'BAP.AX', 'BBN.AX', 'BDR.AX', 'BEN.AX', 'BGA.AX', 'BHP.AX', 'BKL.AX', 'BKW.AX', 'BLA.AX', 'BLD.AX', 'BOQ.AX', 'BPT.AX', 'BRG.AX', 'BSL.AX', 'BTT.AX', 'BWP.AX', 'BWX.AX', 'BXB.AX', 'CAB.AX', 'CAR.AX', 'CBA.AX', 'CCL.AX', 'CCP.AX', 'CCV.AX', 'CDD.AX', 'CGC.AX', 'CGF.AX', 'CHC.AX', 'CIM.AX', 'CKF.AX', 'CL1.AX', 'CMW.AX', 'CNU.AX', 'COH.AX', 'CPU.AX', 'CQR.AX', 'CSL.AX', 'CSR.AX', 'CSV.AX', 'CTD.AX', 'CTX.AX', 'CVO.AX', 'CWN.AX', 'CWP.AX', 'CWY.AX', 'CYB.AX', 'DCN.AX', 'DLX.AX', 'DMP.AX', 'DNA.AX', 'DOW.AX', 'DRM.AX', 'DUE.AX', 'DXS.AX', 'ECX.AX', 'EHE.AX', 'ELD.AX', 'EML.AX', 'EPW.AX', 'EQT.AX', 'EVN.AX', 'EWC.AX', 'FAR.AX', 'FBU.AX', 'FET.AX', 'FLT.AX', 'FMG.AX', 'FNP.AX', 'FPH.AX', 'FSF.AX', 'FXJ.AX', 'FXL.AX', 'GBT.AX', 'GDI.AX', 'GEM.AX', 'GHC.AX', 'GMA.AX', 'GMG.AX', 'GNC.AX', 'GOR.AX', 'GOZ.AX', 'GPT.AX', 'GTY.AX', 'GUD.AX', 'GWA.AX', 'GXL.AX', 'GXY.AX', 'HFA.AX', 'HFR.AX', 'HGG.AX', 'HPI.AX', 'HSN.AX', 'HSO.AX', 'HVN.AX', 'IAG.AX', 'IDR.AX', 'IEL.AX', 'IFL.AX', 'IFM.AX', 'IFN.AX', 'IGO.AX', 'ILU.AX', 'IMF.AX', 'INA.AX', 'INM.AX', 'IOF.AX', 'IPD.AX', 'IPH.AX', 'IPL.AX', 'IRE.AX', 'ISD.AX', 'ISU.AX', 'IVC.AX', 'JBH.AX', 'JHC.AX', 'JHX.AX', 'KAR.AX', 'KMD.AX', 'LLC.AX', 'LNG.AX', 'LNK.AX', 'LYC.AX', 'MFG.AX', 'MGC.AX', 'MGR.AX', 'MIN.AX', 'MLD.AX', 'MLX.AX', 'MMS.AX', 'MND.AX', 'MNS.AX', 'MOC.AX', 'MPL.AX', 'MQA.AX', 'MQG.AX', 'MSB.AX', 'MTR.AX', 'MTS.AX', 'MVF.AX', 'MYO.AX', 'MYR.AX', 'MYX.AX', 'NAB.AX', 'NAN.AX', 'NCM.AX', 'NEC.AX', 'NHF.AX', 'NSR.AX', 'NST.AX', 'NTC.AX', 'NUF.AX', 'NVT.AX', 'NWS.AX', 'NXT.AX', 'OFX.AX', 'OGC.AX', 'OML.AX', 'ORA.AX', 'ORE.AX', 'ORG.AX', 'ORI.AX', 'OSH.AX', 'OZL.AX', 'PDN.AX', 'PGH.AX', 'PLS.AX', 'PMV.AX', 'PPT.AX', 'PRG.AX', 'PRU.AX', 'PRY.AX', 'PTM.AX', 'QAN.AX', 'QBE.AX', 'QUB.AX', 'RCG.AX', 'RCR.AX', 'REA.AX', 'REG.AX', 'RFF.AX', 'RFG.AX', 'RHC.AX', 'RIC.AX', 'RIO.AX', 'RMD.AX', 'RRL.AX', 'RSG.AX', 'RWC.AX', 'S32.AX', 'SAR.AX', 'SBM.AX', 'SCG.AX', 'SCP.AX', 'SDA.AX', 'SDF.AX', 'SEH.AX', 'SEK.AX', 'SFR.AX', 'SGF.AX', 'SGM.AX', 'SGP.AX', 'SGR.AX', 'SHL.AX', 'SHV.AX', 'SIP.AX', 'SIQ.AX', 'SIV.AX', 'SKC.AX', 'SKI.AX', 'SKT.AX', 'SLK.AX', 'SPK.AX', 'SPL.AX', 'SPO.AX', 'SRX.AX', 'SSM.AX', 'STO.AX', 'SUL.AX', 'SUN.AX', 'SVW.AX', 'SWM.AX', 'SXL.AX', 'SXY.AX', 'SYD.AX', 'SYR.AX', 'TAH.AX', 'TCL.AX', 'TEN.AX', 'TFC.AX', 'TGA.AX', 'TGR.AX', 'TIX.AX', 'TLS.AX', 'TME.AX', 'TNE.AX', 'TOX.AX', 'TPM.AX', 'TRS.AX', 'TTS.AX', 'TWE.AX', 'VCX.AX', 'VLW.AX', 'VOC.AX', 'VRL.AX', 'VRT.AX', 'VTG.AX', 'VVR.AX', 'WBA.AX', 'WBC.AX', 'WEB.AX', 'WES.AX', 'WFD.AX', 'WGX.AX', 'WHC.AX', 'WOR.AX', 'WOW.AX', 'WPL.AX', 'WPP.AX', 'WSA.AX', 'WTC.AX']
In [14]:
%%time
from pandas_datareader import data
from datetime import datetime, timedelta
# approx 10 years worth of data
n_days = 10 * 365
start = str(datetime.now() - timedelta(days=n_days))[:10]
end = str(datetime.now())[:10]
panel = data.DataReader(stocks, 'yahoo', start, end)
/home/adrian/miniconda3/envs/sandpit/lib/python3.5/site-packages/pandas_datareader/base.py:192: SymbolWarning: Failed to read symbol: 'WGX.AX', replacing with NaN.
warnings.warn(msg.format(sym), SymbolWarning)
CPU times: user 3.35 s, sys: 304 ms, total: 3.65 s
Wall time: 2min 22s
In [15]:
help(panel)
Help on Panel in module pandas.core.panel object:
class Panel(pandas.core.generic.NDFrame)
| Represents wide format panel data, stored as 3-dimensional array
|
| Parameters
| ----------
| data : ndarray (items x major x minor), or dict of DataFrames
| items : Index or array-like
| axis=0
| major_axis : Index or array-like
| axis=1
| minor_axis : Index or array-like
| axis=2
| dtype : dtype, default None
| Data type to force, otherwise infer
| copy : boolean, default False
| Copy data from inputs. Only affects DataFrame / 2d ndarray input
|
| Method resolution order:
| Panel
| pandas.core.generic.NDFrame
| pandas.core.base.PandasObject
| pandas.core.base.StringMixin
| builtins.object
|
| Methods defined here:
|
| __add__(self, other)
| # work only for scalars
|
| __and__(self, other)
| # work only for scalars
|
| __div__ = __truediv__(self, other)
|
| __eq__(self, other, axis=None)
| Wrapper for comparison method __eq__
|
| __floordiv__(self, other)
| # work only for scalars
|
| __ge__(self, other, axis=None)
| Wrapper for comparison method __ge__
|
| __getitem__(self, key)
|
| __gt__(self, other, axis=None)
| Wrapper for comparison method __gt__
|
| __iadd__ = f(self, other)
|
| __imul__ = f(self, other)
|
| __init__(self, data=None, items=None, major_axis=None, minor_axis=None, copy=False, dtype=None)
| Initialize self. See help(type(self)) for accurate signature.
|
| __ipow__ = f(self, other)
|
| __isub__ = f(self, other)
|
| __itruediv__ = f(self, other)
|
| __le__(self, other, axis=None)
| Wrapper for comparison method __le__
|
| __lt__(self, other, axis=None)
| Wrapper for comparison method __lt__
|
| __mod__(self, other)
| # work only for scalars
|
| __mul__(self, other)
| # work only for scalars
|
| __ne__(self, other, axis=None)
| Wrapper for comparison method __ne__
|
| __or__(self, other)
| # work only for scalars
|
| __pow__(self, other)
| # work only for scalars
|
| __radd__(self, other)
| # work only for scalars
|
| __rand__(self, other)
| # work only for scalars
|
| __rdiv__ = __rtruediv__(self, other)
|
| __rfloordiv__(self, other)
| # work only for scalars
|
| __rmod__(self, other)
| # work only for scalars
|
| __rmul__(self, other)
| # work only for scalars
|
| __ror__(self, other)
| # work only for scalars
|
| __rpow__(self, other)
| # work only for scalars
|
| __rsub__(self, other)
| # work only for scalars
|
| __rtruediv__(self, other)
| # work only for scalars
|
| __rxor__(self, other)
| # work only for scalars
|
| __setitem__(self, key, value)
|
| __sub__(self, other)
| # work only for scalars
|
| __truediv__(self, other)
| # work only for scalars
|
| __unicode__(self)
| Return a string representation for a particular Panel
|
| Invoked by unicode(df) in py2 only.
| Yields a Unicode String in both py2/py3.
|
| __xor__(self, other)
| # work only for scalars
|
| add(self, other, axis=0)
| Addition of series and other, element-wise (binary operator `add`).
| Equivalent to ``panel + other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.radd
|
| align(self, other, **kwargs)
| Align two object on their axes with the
| specified join method for each axis Index
|
| Parameters
| ----------
| other : DataFrame or Series
| join : {'outer', 'inner', 'left', 'right'}, default 'outer'
| axis : allowed axis of the other object, default None
| Align on index (0), columns (1), or both (None)
| level : int or level name, default None
| Broadcast across a level, matching Index values on the
| passed MultiIndex level
| copy : boolean, default True
| Always returns new objects. If copy=False and no reindexing is
| required then original objects are returned.
| fill_value : scalar, default np.NaN
| Value to use for missing values. Defaults to NaN, but can be any
| "compatible" value
| method : str, default None
| limit : int, default None
| fill_axis : int or labels for object, default 0
| Filling axis, method and limit
| broadcast_axis : int or labels for object, default None
| Broadcast values along this axis, if aligning two objects of
| different dimensions
|
| .. versionadded:: 0.17.0
|
| Returns
| -------
| (left, right) : (NDFrame, type of other)
| Aligned objects
|
| all(self, axis=None, bool_only=None, skipna=None, level=None, **kwargs)
| Return whether all elements are True over requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| bool_only : boolean, default None
| Include only boolean columns. If None, will attempt to use everything,
| then use only boolean data. Not implemented for Series.
|
| Returns
| -------
| all : DataFrame or Panel (if level specified)
|
| any(self, axis=None, bool_only=None, skipna=None, level=None, **kwargs)
| Return whether any element is True over requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| bool_only : boolean, default None
| Include only boolean columns. If None, will attempt to use everything,
| then use only boolean data. Not implemented for Series.
|
| Returns
| -------
| any : DataFrame or Panel (if level specified)
|
| apply(self, func, axis='major', **kwargs)
| Applies function along axis (or axes) of the Panel
|
| Parameters
| ----------
| func : function
| Function to apply to each combination of 'other' axes
| e.g. if axis = 'items', the combination of major_axis/minor_axis
| will each be passed as a Series; if axis = ('items', 'major'),
| DataFrames of items & major axis will be passed
| axis : {'items', 'minor', 'major'}, or {0, 1, 2}, or a tuple with two
| axes
| Additional keyword arguments will be passed as keywords to the function
|
| Examples
| --------
|
| Returns a Panel with the square root of each element
|
| >>> p = pd.Panel(np.random.rand(4,3,2))
| >>> p.apply(np.sqrt)
|
| Equivalent to p.sum(1), returning a DataFrame
|
| >>> p.apply(lambda x: x.sum(), axis=1)
|
| Equivalent to previous:
|
| >>> p.apply(lambda x: x.sum(), axis='minor')
|
| Return the shapes of each DataFrame over axis 2 (i.e the shapes of
| items x major), as a Series
|
| >>> p.apply(lambda x: x.shape, axis=(0,1))
|
| Returns
| -------
| result : Panel, DataFrame, or Series
|
| as_matrix(self)
| Convert the frame to its Numpy-array representation.
|
| Parameters
| ----------
| columns: list, optional, default:None
| If None, return all columns, otherwise, returns specified columns.
|
| Returns
| -------
| values : ndarray
| If the caller is heterogeneous and contains booleans or objects,
| the result will be of dtype=object. See Notes.
|
|
| Notes
| -----
| Return is NOT a Numpy-matrix, rather, a Numpy-array.
|
| The dtype will be a lower-common-denominator dtype (implicit
| upcasting); that is to say if the dtypes (even of numeric types)
| are mixed, the one that accommodates all will be chosen. Use this
| with care if you are not dealing with the blocks.
|
| e.g. If the dtypes are float16 and float32, dtype will be upcast to
| float32. If dtypes are int32 and uint8, dtype will be upcase to
| int32. By numpy.find_common_type convention, mixing int64 and uint64
| will result in a flot64 dtype.
|
| This method is provided for backwards compatibility. Generally,
| it is recommended to use '.values'.
|
| See Also
| --------
| pandas.DataFrame.values
|
| compound(self, axis=None, skipna=None, level=None)
| Return the compound percentage of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| compounded : DataFrame or Panel (if level specified)
|
| conform(self, frame, axis='items')
| Conform input DataFrame to align with chosen axis pair.
|
| Parameters
| ----------
| frame : DataFrame
| axis : {'items', 'major', 'minor'}
|
| Axis the input corresponds to. E.g., if axis='major', then
| the frame's columns would be items, and the index would be
| values of the minor axis
|
| Returns
| -------
| DataFrame
|
| count(self, axis='major')
| Return number of observations over requested axis.
|
| Parameters
| ----------
| axis : {'items', 'major', 'minor'} or {0, 1, 2}
|
| Returns
| -------
| count : DataFrame
|
| cummax(self, axis=None, skipna=True, *args, **kwargs)
| Return cumulative max over requested axis.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
|
| Returns
| -------
| cummax : DataFrame
|
| cummin(self, axis=None, skipna=True, *args, **kwargs)
| Return cumulative minimum over requested axis.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
|
| Returns
| -------
| cummin : DataFrame
|
| cumprod(self, axis=None, skipna=True, *args, **kwargs)
| Return cumulative product over requested axis.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
|
| Returns
| -------
| cumprod : DataFrame
|
| cumsum(self, axis=None, skipna=True, *args, **kwargs)
| Return cumulative sum over requested axis.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
|
| Returns
| -------
| cumsum : DataFrame
|
| div = truediv(self, other, axis=0)
|
| divide = truediv(self, other, axis=0)
|
| dropna(self, axis=0, how='any', inplace=False)
| Drop 2D from panel, holding passed axis constant
|
| Parameters
| ----------
| axis : int, default 0
| Axis to hold constant. E.g. axis=1 will drop major_axis entries
| having a certain amount of NA data
| how : {'all', 'any'}, default 'any'
| 'any': one or more values are NA in the DataFrame along the
| axis. For 'all' they all must be.
| inplace : bool, default False
| If True, do operation inplace and return None.
|
| Returns
| -------
| dropped : Panel
|
| eq(self, other, axis=None)
| Wrapper for comparison method eq
|
| fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
| Fill NA/NaN values using the specified method
|
| Parameters
| ----------
| value : scalar, dict, Series, or DataFrame
| Value to use to fill holes (e.g. 0), alternately a
| dict/Series/DataFrame of values specifying which value to use for
| each index (for a Series) or column (for a DataFrame). (values not
| in the dict/Series/DataFrame will not be filled). This value cannot
| be a list.
| method : {'backfill', 'bfill', 'pad', 'ffill', None}, default None
| Method to use for filling holes in reindexed Series
| pad / ffill: propagate last valid observation forward to next valid
| backfill / bfill: use NEXT valid observation to fill gap
| axis : {0, 1, 2, 'items', 'major_axis', 'minor_axis'}
| inplace : boolean, default False
| If True, fill in place. Note: this will modify any
| other views on this object, (e.g. a no-copy slice for a column in a
| DataFrame).
| limit : int, default None
| If method is specified, this is the maximum number of consecutive
| NaN values to forward/backward fill. In other words, if there is
| a gap with more than this number of consecutive NaNs, it will only
| be partially filled. If method is not specified, this is the
| maximum number of entries along the entire axis where NaNs will be
| filled.
| downcast : dict, default is None
| a dict of item->dtype of what to downcast if possible,
| or the string 'infer' which will try to downcast to an appropriate
| equal type (e.g. float64 to int64 if possible)
|
| See Also
| --------
| reindex, asfreq
|
| Returns
| -------
| filled : Panel
|
| floordiv(self, other, axis=0)
| Integer division of series and other, element-wise (binary operator `floordiv`).
| Equivalent to ``panel // other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rfloordiv
|
| ge(self, other, axis=None)
| Wrapper for comparison method ge
|
| get_value(self, *args, **kwargs)
| Quickly retrieve single value at (item, major, minor) location
|
| Parameters
| ----------
| item : item label (panel item)
| major : major axis label (panel item row)
| minor : minor axis label (panel item column)
| takeable : interpret the passed labels as indexers, default False
|
| Returns
| -------
| value : scalar value
|
| groupby(self, function, axis='major')
| Group data on given axis, returning GroupBy object
|
| Parameters
| ----------
| function : callable
| Mapping function for chosen access
| axis : {'major', 'minor', 'items'}, default 'major'
|
| Returns
| -------
| grouped : PanelGroupBy
|
| gt(self, other, axis=None)
| Wrapper for comparison method gt
|
| head(self, n=5)
| Returns first n rows
|
| join(self, other, how='left', lsuffix='', rsuffix='')
| Join items with other Panel either on major and minor axes column
|
| Parameters
| ----------
| other : Panel or list of Panels
| Index should be similar to one of the columns in this one
| how : {'left', 'right', 'outer', 'inner'}
| How to handle indexes of the two objects. Default: 'left'
| for joining on index, None otherwise
| * left: use calling frame's index
| * right: use input frame's index
| * outer: form union of indexes
| * inner: use intersection of indexes
| lsuffix : string
| Suffix to use from left frame's overlapping columns
| rsuffix : string
| Suffix to use from right frame's overlapping columns
|
| Returns
| -------
| joined : Panel
|
| kurt(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return unbiased kurtosis over requested axis using Fisher's definition of
| kurtosis (kurtosis of normal == 0.0). Normalized by N-1
|
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| kurt : DataFrame or Panel (if level specified)
|
| kurtosis = kurt(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
|
| le(self, other, axis=None)
| Wrapper for comparison method le
|
| lt(self, other, axis=None)
| Wrapper for comparison method lt
|
| mad(self, axis=None, skipna=None, level=None)
| Return the mean absolute deviation of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| mad : DataFrame or Panel (if level specified)
|
| major_xs(self, key)
| Return slice of panel along major axis
|
| Parameters
| ----------
| key : object
| Major axis label
|
| Returns
| -------
| y : DataFrame
| index -> minor axis, columns -> items
|
| Notes
| -----
| major_xs is only for getting, not setting values.
|
| MultiIndex Slicers is a generic way to get/set values on any level or
| levels and is a superset of major_xs functionality, see
| :ref:`MultiIndex Slicers <advanced.mi_slicers>`
|
| max(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| This method returns the maximum of the values in the object.
| If you want the *index* of the maximum, use ``idxmax``. This is
| the equivalent of the ``numpy.ndarray`` method ``argmax``.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| max : DataFrame or Panel (if level specified)
|
| mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return the mean of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| mean : DataFrame or Panel (if level specified)
|
| median(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return the median of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| median : DataFrame or Panel (if level specified)
|
| min(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| This method returns the minimum of the values in the object.
| If you want the *index* of the minimum, use ``idxmin``. This is
| the equivalent of the ``numpy.ndarray`` method ``argmin``.
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| min : DataFrame or Panel (if level specified)
|
| minor_xs(self, key)
| Return slice of panel along minor axis
|
| Parameters
| ----------
| key : object
| Minor axis label
|
| Returns
| -------
| y : DataFrame
| index -> major axis, columns -> items
|
| Notes
| -----
| minor_xs is only for getting, not setting values.
|
| MultiIndex Slicers is a generic way to get/set values on any level or
| levels and is a superset of minor_xs functionality, see
| :ref:`MultiIndex Slicers <advanced.mi_slicers>`
|
| mod(self, other, axis=0)
| Modulo of series and other, element-wise (binary operator `mod`).
| Equivalent to ``panel % other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rmod
|
| mul(self, other, axis=0)
| Multiplication of series and other, element-wise (binary operator `mul`).
| Equivalent to ``panel * other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rmul
|
| multiply = mul(self, other, axis=0)
|
| ne(self, other, axis=None)
| Wrapper for comparison method ne
|
| pow(self, other, axis=0)
| Exponential power of series and other, element-wise (binary operator `pow`).
| Equivalent to ``panel ** other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rpow
|
| prod(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return the product of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| prod : DataFrame or Panel (if level specified)
|
| product = prod(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
|
| radd(self, other, axis=0)
| Addition of series and other, element-wise (binary operator `radd`).
| Equivalent to ``other + panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.add
|
| rdiv = rtruediv(self, other, axis=0)
|
| reindex(self, items=None, major_axis=None, minor_axis=None, **kwargs)
| Conform Panel to new index with optional filling logic, placing
| NA/NaN in locations having no value in the previous index. A new object
| is produced unless the new index is equivalent to the current one and
| copy=False
|
| Parameters
| ----------
| items, major_axis, minor_axis : array-like, optional (can be specified in order, or as
| keywords)
| New labels / index to conform to. Preferably an Index object to
| avoid duplicating data
| method : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}, optional
| method to use for filling holes in reindexed DataFrame.
| Please note: this is only applicable to DataFrames/Series with a
| monotonically increasing/decreasing index.
|
| * default: don't fill gaps
| * pad / ffill: propagate last valid observation forward to next
| valid
| * backfill / bfill: use next valid observation to fill gap
| * nearest: use nearest valid observations to fill gap
|
| copy : boolean, default True
| Return a new object, even if the passed indexes are the same
| level : int or name
| Broadcast across a level, matching Index values on the
| passed MultiIndex level
| fill_value : scalar, default np.NaN
| Value to use for missing values. Defaults to NaN, but can be any
| "compatible" value
| limit : int, default None
| Maximum number of consecutive elements to forward or backward fill
| tolerance : optional
| Maximum distance between original and new labels for inexact
| matches. The values of the index at the matching locations most
| satisfy the equation ``abs(index[indexer] - target) <= tolerance``.
|
| .. versionadded:: 0.17.0
|
| Examples
| --------
|
| Create a dataframe with some fictional data.
|
| >>> index = ['Firefox', 'Chrome', 'Safari', 'IE10', 'Konqueror']
| >>> df = pd.DataFrame({
| ... 'http_status': [200,200,404,404,301],
| ... 'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]},
| ... index=index)
| >>> df
| http_status response_time
| Firefox 200 0.04
| Chrome 200 0.02
| Safari 404 0.07
| IE10 404 0.08
| Konqueror 301 1.00
|
| Create a new index and reindex the dataframe. By default
| values in the new index that do not have corresponding
| records in the dataframe are assigned ``NaN``.
|
| >>> new_index= ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
| ... 'Chrome']
| >>> df.reindex(new_index)
| http_status response_time
| Safari 404 0.07
| Iceweasel NaN NaN
| Comodo Dragon NaN NaN
| IE10 404 0.08
| Chrome 200 0.02
|
| We can fill in the missing values by passing a value to
| the keyword ``fill_value``. Because the index is not monotonically
| increasing or decreasing, we cannot use arguments to the keyword
| ``method`` to fill the ``NaN`` values.
|
| >>> df.reindex(new_index, fill_value=0)
| http_status response_time
| Safari 404 0.07
| Iceweasel 0 0.00
| Comodo Dragon 0 0.00
| IE10 404 0.08
| Chrome 200 0.02
|
| >>> df.reindex(new_index, fill_value='missing')
| http_status response_time
| Safari 404 0.07
| Iceweasel missing missing
| Comodo Dragon missing missing
| IE10 404 0.08
| Chrome 200 0.02
|
| To further illustrate the filling functionality in
| ``reindex``, we will create a dataframe with a
| monotonically increasing index (for example, a sequence
| of dates).
|
| >>> date_index = pd.date_range('1/1/2010', periods=6, freq='D')
| >>> df2 = pd.DataFrame({"prices": [100, 101, np.nan, 100, 89, 88]},
| ... index=date_index)
| >>> df2
| prices
| 2010-01-01 100
| 2010-01-02 101
| 2010-01-03 NaN
| 2010-01-04 100
| 2010-01-05 89
| 2010-01-06 88
|
| Suppose we decide to expand the dataframe to cover a wider
| date range.
|
| >>> date_index2 = pd.date_range('12/29/2009', periods=10, freq='D')
| >>> df2.reindex(date_index2)
| prices
| 2009-12-29 NaN
| 2009-12-30 NaN
| 2009-12-31 NaN
| 2010-01-01 100
| 2010-01-02 101
| 2010-01-03 NaN
| 2010-01-04 100
| 2010-01-05 89
| 2010-01-06 88
| 2010-01-07 NaN
|
| The index entries that did not have a value in the original data frame
| (for example, '2009-12-29') are by default filled with ``NaN``.
| If desired, we can fill in the missing values using one of several
| options.
|
| For example, to backpropagate the last valid value to fill the ``NaN``
| values, pass ``bfill`` as an argument to the ``method`` keyword.
|
| >>> df2.reindex(date_index2, method='bfill')
| prices
| 2009-12-29 100
| 2009-12-30 100
| 2009-12-31 100
| 2010-01-01 100
| 2010-01-02 101
| 2010-01-03 NaN
| 2010-01-04 100
| 2010-01-05 89
| 2010-01-06 88
| 2010-01-07 NaN
|
| Please note that the ``NaN`` value present in the original dataframe
| (at index value 2010-01-03) will not be filled by any of the
| value propagation schemes. This is because filling while reindexing
| does not look at dataframe values, but only compares the original and
| desired indexes. If you do want to fill in the ``NaN`` values present
| in the original dataframe, use the ``fillna()`` method.
|
| Returns
| -------
| reindexed : Panel
|
| reindex_axis(self, labels, axis=0, method=None, level=None, copy=True, limit=None, fill_value=nan)
| Conform input object to new index with optional
| filling logic, placing NA/NaN in locations having no value in the
| previous index. A new object is produced unless the new index is
| equivalent to the current one and copy=False
|
| Parameters
| ----------
| labels : array-like
| New labels / index to conform to. Preferably an Index object to
| avoid duplicating data
| axis : {0, 1, 2, 'items', 'major_axis', 'minor_axis'}
| method : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}, optional
| Method to use for filling holes in reindexed DataFrame:
|
| * default: don't fill gaps
| * pad / ffill: propagate last valid observation forward to next
| valid
| * backfill / bfill: use next valid observation to fill gap
| * nearest: use nearest valid observations to fill gap
|
| copy : boolean, default True
| Return a new object, even if the passed indexes are the same
| level : int or name
| Broadcast across a level, matching Index values on the
| passed MultiIndex level
| limit : int, default None
| Maximum number of consecutive elements to forward or backward fill
| tolerance : optional
| Maximum distance between original and new labels for inexact
| matches. The values of the index at the matching locations most
| satisfy the equation ``abs(index[indexer] - target) <= tolerance``.
|
| .. versionadded:: 0.17.0
|
| Examples
| --------
| >>> df.reindex_axis(['A', 'B', 'C'], axis=1)
|
| See Also
| --------
| reindex, reindex_like
|
| Returns
| -------
| reindexed : Panel
|
| rename(self, items=None, major_axis=None, minor_axis=None, **kwargs)
| Alter axes input function or functions. Function / dict values must be
| unique (1-to-1). Labels not contained in a dict / Series will be left
| as-is. Extra labels listed don't throw an error. Alternatively, change
| ``Series.name`` with a scalar value (Series only).
|
| Parameters
| ----------
| items, major_axis, minor_axis : scalar, list-like, dict-like or function, optional
| Scalar or list-like will alter the ``Series.name`` attribute,
| and raise on DataFrame or Panel.
| dict-like or functions are transformations to apply to
| that axis' values
| copy : boolean, default True
| Also copy underlying data
| inplace : boolean, default False
| Whether to return a new Panel. If True then value of copy is
| ignored.
|
| Returns
| -------
| renamed : Panel (new object)
|
| See Also
| --------
| pandas.NDFrame.rename_axis
|
| Examples
| --------
| >>> s = pd.Series([1, 2, 3])
| >>> s
| 0 1
| 1 2
| 2 3
| dtype: int64
| >>> s.rename("my_name") # scalar, changes Series.name
| 0 1
| 1 2
| 2 3
| Name: my_name, dtype: int64
| >>> s.rename(lambda x: x ** 2) # function, changes labels
| 0 1
| 1 2
| 4 3
| dtype: int64
| >>> s.rename({1: 3, 2: 5}) # mapping, changes labels
| 0 1
| 3 2
| 5 3
| dtype: int64
| >>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
| >>> df.rename(2)
| ...
| TypeError: 'int' object is not callable
| >>> df.rename(index=str, columns={"A": "a", "B": "c"})
| a c
| 0 1 4
| 1 2 5
| 2 3 6
| >>> df.rename(index=str, columns={"A": "a", "C": "c"})
| a B
| 0 1 4
| 1 2 5
| 2 3 6
|
| rfloordiv(self, other, axis=0)
| Integer division of series and other, element-wise (binary operator `rfloordiv`).
| Equivalent to ``other // panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.floordiv
|
| rmod(self, other, axis=0)
| Modulo of series and other, element-wise (binary operator `rmod`).
| Equivalent to ``other % panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.mod
|
| rmul(self, other, axis=0)
| Multiplication of series and other, element-wise (binary operator `rmul`).
| Equivalent to ``other * panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.mul
|
| round(self, decimals=0, *args, **kwargs)
| Round each value in Panel to a specified number of decimal places.
|
| .. versionadded:: 0.18.0
|
| Parameters
| ----------
| decimals : int
| Number of decimal places to round to (default: 0).
| If decimals is negative, it specifies the number of
| positions to the left of the decimal point.
|
| Returns
| -------
| Panel object
|
| See Also
| --------
| numpy.around
|
| rpow(self, other, axis=0)
| Exponential power of series and other, element-wise (binary operator `rpow`).
| Equivalent to ``other ** panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.pow
|
| rsub(self, other, axis=0)
| Subtraction of series and other, element-wise (binary operator `rsub`).
| Equivalent to ``other - panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.sub
|
| rtruediv(self, other, axis=0)
| Floating division of series and other, element-wise (binary operator `rtruediv`).
| Equivalent to ``other / panel``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.truediv
|
| sem(self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)
| Return unbiased standard error of the mean over requested axis.
|
| Normalized by N-1 by default. This can be changed using the ddof argument
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| ddof : int, default 1
| degrees of freedom
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| sem : DataFrame or Panel (if level specified)
|
| set_value(self, *args, **kwargs)
| Quickly set single value at (item, major, minor) location
|
| Parameters
| ----------
| item : item label (panel item)
| major : major axis label (panel item row)
| minor : minor axis label (panel item column)
| value : scalar
| takeable : interpret the passed labels as indexers, default False
|
| Returns
| -------
| panel : Panel
| If label combo is contained, will be reference to calling Panel,
| otherwise a new object
|
| shift(self, periods=1, freq=None, axis='major')
| Shift index by desired number of periods with an optional time freq.
| The shifted data will not include the dropped periods and the
| shifted axis will be smaller than the original. This is different
| from the behavior of DataFrame.shift()
|
| Parameters
| ----------
| periods : int
| Number of periods to move, can be positive or negative
| freq : DateOffset, timedelta, or time rule string, optional
| axis : {'items', 'major', 'minor'} or {0, 1, 2}
|
| Returns
| -------
| shifted : Panel
|
| skew(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return unbiased skew over requested axis
| Normalized by N-1
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| skew : DataFrame or Panel (if level specified)
|
| std(self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)
| Return sample standard deviation over requested axis.
|
| Normalized by N-1 by default. This can be changed using the ddof argument
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| ddof : int, default 1
| degrees of freedom
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| std : DataFrame or Panel (if level specified)
|
| sub(self, other, axis=0)
| Subtraction of series and other, element-wise (binary operator `sub`).
| Equivalent to ``panel - other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rsub
|
| subtract = sub(self, other, axis=0)
|
| sum(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
| Return the sum of the values for the requested axis
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| sum : DataFrame or Panel (if level specified)
|
| tail(self, n=5)
| Returns last n rows
|
| toLong = wrapper(*args, **kwargs)
|
| to_excel(self, path, na_rep='', engine=None, **kwargs)
| Write each DataFrame in Panel to a separate excel sheet
|
| Parameters
| ----------
| path : string or ExcelWriter object
| File path or existing ExcelWriter
| na_rep : string, default ''
| Missing data representation
| engine : string, default None
| write engine to use - you can also set this via the options
| ``io.excel.xlsx.writer``, ``io.excel.xls.writer``, and
| ``io.excel.xlsm.writer``.
|
| Other Parameters
| ----------------
| float_format : string, default None
| Format string for floating point numbers
| cols : sequence, optional
| Columns to write
| header : boolean or list of string, default True
| Write out column names. If a list of string is given it is
| assumed to be aliases for the column names
| index : boolean, default True
| Write row names (index)
| index_label : string or sequence, default None
| Column label for index column(s) if desired. If None is given, and
| `header` and `index` are True, then the index names are used. A
| sequence should be given if the DataFrame uses MultiIndex.
| startrow : upper left cell row to dump data frame
| startcol : upper left cell column to dump data frame
|
| Notes
| -----
| Keyword arguments (and na_rep) are passed to the ``to_excel`` method
| for each DataFrame written.
|
| to_frame(self, filter_observations=True)
| Transform wide format into long (stacked) format as DataFrame whose
| columns are the Panel's items and whose index is a MultiIndex formed
| of the Panel's major and minor axes.
|
| Parameters
| ----------
| filter_observations : boolean, default True
| Drop (major, minor) pairs without a complete set of observations
| across all the items
|
| Returns
| -------
| y : DataFrame
|
| to_long = wrapper(*args, **kwargs)
|
| to_sparse(self, *args, **kwargs)
| NOT IMPLEMENTED: do not call this method, as sparsifying is not
| supported for Panel objects and will raise an error.
|
| Convert to SparsePanel
|
| transpose(self, *args, **kwargs)
| Permute the dimensions of the Panel
|
| Parameters
| ----------
| args : three positional arguments: each oneof
| {0, 1, 2, 'items', 'major_axis', 'minor_axis'}
| copy : boolean, default False
| Make a copy of the underlying data. Mixed-dtype data will
| always result in a copy
|
| Examples
| --------
| >>> p.transpose(2, 0, 1)
| >>> p.transpose(2, 0, 1, copy=True)
|
| Returns
| -------
| y : same as input
|
| truediv(self, other, axis=0)
| Floating division of series and other, element-wise (binary operator `truediv`).
| Equivalent to ``panel / other``.
|
| Parameters
| ----------
| other : DataFrame or Panel
| axis : {items, major_axis, minor_axis}
| Axis to broadcast over
|
| Returns
| -------
| Panel
|
| See also
| --------
| Panel.rtruediv
|
| tshift(self, periods=1, freq=None, axis='major')
| Shift the time index, using the index's frequency if available.
|
| Parameters
| ----------
| periods : int
| Number of periods to move, can be positive or negative
| freq : DateOffset, timedelta, or time rule string, default None
| Increment to use from the tseries module or time rule (e.g. 'EOM')
| axis : int or basestring
| Corresponds to the axis that contains the Index
|
| Notes
| -----
| If freq is not specified then tries to use the freq or inferred_freq
| attributes of the index. If neither of those attributes exist, a
| ValueError is thrown
|
| Returns
| -------
| shifted : NDFrame
|
| update(self, other, join='left', overwrite=True, filter_func=None, raise_conflict=False)
| Modify Panel in place using non-NA values from passed
| Panel, or object coercible to Panel. Aligns on items
|
| Parameters
| ----------
| other : Panel, or object coercible to Panel
| join : How to join individual DataFrames
| {'left', 'right', 'outer', 'inner'}, default 'left'
| overwrite : boolean, default True
| If True then overwrite values for common keys in the calling panel
| filter_func : callable(1d-array) -> 1d-array<boolean>, default None
| Can choose to replace values other than NA. Return True for values
| that should be updated
| raise_conflict : bool
| If True, will raise an error if a DataFrame and other both
| contain data in the same place.
|
| var(self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)
| Return unbiased variance over requested axis.
|
| Normalized by N-1 by default. This can be changed using the ddof argument
|
| Parameters
| ----------
| axis : {items (0), major_axis (1), minor_axis (2)}
| skipna : boolean, default True
| Exclude NA/null values. If an entire row/column is NA, the result
| will be NA
| level : int or level name, default None
| If the axis is a MultiIndex (hierarchical), count along a
| particular level, collapsing into a DataFrame
| ddof : int, default 1
| degrees of freedom
| numeric_only : boolean, default None
| Include only float, int, boolean columns. If None, will attempt to use
| everything, then use only numeric data. Not implemented for Series.
|
| Returns
| -------
| var : DataFrame or Panel (if level specified)
|
| xs(self, key, axis=1)
| Return slice of panel along selected axis
|
| Parameters
| ----------
| key : object
| Label
| axis : {'items', 'major', 'minor}, default 1/'major'
|
| Returns
| -------
| y : ndim(self)-1
|
| Notes
| -----
| xs is only for getting, not setting values.
|
| MultiIndex Slicers is a generic way to get/set values on any level or
| levels and is a superset of xs functionality, see
| :ref:`MultiIndex Slicers <advanced.mi_slicers>`
|
| ----------------------------------------------------------------------
| Class methods defined here:
|
| fromDict = from_dict(data, intersect=False, orient='items', dtype=None) from builtins.type
| Construct Panel from dict of DataFrame objects
|
| Parameters
| ----------
| data : dict
| {field : DataFrame}
| intersect : boolean
| Intersect indexes of input DataFrames
| orient : {'items', 'minor'}, default 'items'
| The "orientation" of the data. If the keys of the passed dict
| should be the items of the result panel, pass 'items'
| (default). Otherwise if the columns of the values of the passed
| DataFrame objects should be the items (which in the case of
| mixed-dtype data you should do), instead pass 'minor'
| dtype : dtype, default None
| Data type to force, otherwise infer
|
| Returns
| -------
| Panel
|
| from_dict(data, intersect=False, orient='items', dtype=None) from builtins.type
| Construct Panel from dict of DataFrame objects
|
| Parameters
| ----------
| data : dict
| {field : DataFrame}
| intersect : boolean
| Intersect indexes of input DataFrames
| orient : {'items', 'minor'}, default 'items'
| The "orientation" of the data. If the keys of the passed dict
| should be the items of the result panel, pass 'items'
| (default). Otherwise if the columns of the values of the passed
| DataFrame objects should be the items (which in the case of
| mixed-dtype data you should do), instead pass 'minor'
| dtype : dtype, default None
| Data type to force, otherwise infer
|
| Returns
| -------
| Panel
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| items
|
| major_axis
|
| minor_axis
|
| ----------------------------------------------------------------------
| Methods inherited from pandas.core.generic.NDFrame:
|
| __abs__(self)
|
| __array__(self, dtype=None)
|
| __array_wrap__(self, result, context=None)
|
| __bool__ = __nonzero__(self)
|
| __contains__(self, key)
| True if the key is in the info axis
|
| __delitem__(self, key)
| Delete item
|
| __finalize__(self, other, method=None, **kwargs)
| Propagate metadata from other to self.
|
| Parameters
| ----------
| other : the object from which to get the attributes that we are going
| to propagate
| method : optional, a passed method name ; possibly to take different
| types of propagation actions based on this
|
| __getattr__(self, name)
| After regular attribute access, try looking up the name
| This allows simpler access to columns for interactive use.
|
| __getstate__(self)
|
| __hash__(self)
| Return hash(self).
|
| __invert__(self)
|
| __iter__(self)
| Iterate over infor axis
|
| __len__(self)
| Returns length of info axis
|
| __neg__(self)
|
| __nonzero__(self)
|
| __round__(self, decimals=0)
|
| __setattr__(self, name, value)
| After regular attribute access, try setting the name
| This allows simpler access to columns for interactive use.
|
| __setstate__(self, state)
|
| abs(self)
| Return an object with absolute value taken--only applicable to objects
| that are all numeric.
|
| Returns
| -------
| abs: type of caller
|
| add_prefix(self, prefix)
| Concatenate prefix string with panel items names.
|
| Parameters
| ----------
| prefix : string
|
| Returns
| -------
| with_prefix : type of caller
|
| add_suffix(self, suffix)
| Concatenate suffix string with panel items names.
|
| Parameters
| ----------
| suffix : string
|
| Returns
| -------
| with_suffix : type of caller
|
| as_blocks(self, copy=True)
| Convert the frame to a dict of dtype -> Constructor Types that each has
| a homogeneous dtype.
|
| NOTE: the dtypes of the blocks WILL BE PRESERVED HERE (unlike in
| as_matrix)
|
| Parameters
| ----------
| copy : boolean, default True
|
| .. versionadded: 0.16.1
|
| Returns
| -------
| values : a dict of dtype -> Constructor Types
|
| asfreq(self, freq, method=None, how=None, normalize=False)
| Convert TimeSeries to specified frequency.
|
| Optionally provide filling method to pad/backfill missing values.
|
| Parameters
| ----------
| freq : DateOffset object, or string
| method : {'backfill'/'bfill', 'pad'/'ffill'}, default None
| Method to use for filling holes in reindexed Series (note this
| does not fill NaNs that already were present):
|
| * 'pad' / 'ffill': propagate last valid observation forward to next
| valid
| * 'backfill' / 'bfill': use NEXT valid observation to fill
| how : {'start', 'end'}, default end
| For PeriodIndex only, see PeriodIndex.asfreq
| normalize : bool, default False
| Whether to reset output index to midnight
|
| Returns
| -------
| converted : type of caller
|
| To learn more about the frequency strings, please see `this link
| <http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases>`__.
|
| asof(self, where, subset=None)
| The last row without any NaN is taken (or the last row without
| NaN considering only the subset of columns in the case of a DataFrame)
|
| .. versionadded:: 0.19.0 For DataFrame
|
| If there is no good value, NaN is returned.
|
| Parameters
| ----------
| where : date or array of dates
| subset : string or list of strings, default None
| if not None use these columns for NaN propagation
|
| Notes
| -----
| Dates are assumed to be sorted
| Raises if this is not the case
|
| Returns
| -------
| where is scalar
|
| - value or NaN if input is Series
| - Series if input is DataFrame
|
| where is Index: same shape object as input
|
| See Also
| --------
| merge_asof
|
| astype(self, dtype, copy=True, raise_on_error=True, **kwargs)
| Cast object to input numpy.dtype
| Return a copy when copy = True (be really careful with this!)
|
| Parameters
| ----------
| dtype : data type, or dict of column name -> data type
| Use a numpy.dtype or Python type to cast entire pandas object to
| the same type. Alternatively, use {col: dtype, ...}, where col is a
| column label and dtype is a numpy.dtype or Python type to cast one
| or more of the DataFrame's columns to column-specific types.
| raise_on_error : raise on invalid input
| kwargs : keyword arguments to pass on to the constructor
|
| Returns
| -------
| casted : type of caller
|
| at_time(self, time, asof=False)
| Select values at particular time of day (e.g. 9:30AM).
|
| Parameters
| ----------
| time : datetime.time or string
|
| Returns
| -------
| values_at_time : type of caller
|
| between_time(self, start_time, end_time, include_start=True, include_end=True)
| Select values between particular times of the day (e.g., 9:00-9:30 AM).
|
| Parameters
| ----------
| start_time : datetime.time or string
| end_time : datetime.time or string
| include_start : boolean, default True
| include_end : boolean, default True
|
| Returns
| -------
| values_between_time : type of caller
|
| bfill(self, axis=None, inplace=False, limit=None, downcast=None)
| Synonym for NDFrame.fillna(method='bfill')
|
| bool(self)
| Return the bool of a single element PandasObject.
|
| This must be a boolean scalar value, either True or False. Raise a
| ValueError if the PandasObject does not have exactly 1 element, or that
| element is not boolean
|
| clip(self, lower=None, upper=None, axis=None, *args, **kwargs)
| Trim values at input threshold(s).
|
| Parameters
| ----------
| lower : float or array_like, default None
| upper : float or array_like, default None
| axis : int or string axis name, optional
| Align object with lower and upper along the given axis.
|
| Returns
| -------
| clipped : Series
|
| Examples
| --------
| >>> df
| 0 1
| 0 0.335232 -1.256177
| 1 -1.367855 0.746646
| 2 0.027753 -1.176076
| 3 0.230930 -0.679613
| 4 1.261967 0.570967
| >>> df.clip(-1.0, 0.5)
| 0 1
| 0 0.335232 -1.000000
| 1 -1.000000 0.500000
| 2 0.027753 -1.000000
| 3 0.230930 -0.679613
| 4 0.500000 0.500000
| >>> t
| 0 -0.3
| 1 -0.2
| 2 -0.1
| 3 0.0
| 4 0.1
| dtype: float64
| >>> df.clip(t, t + 1, axis=0)
| 0 1
| 0 0.335232 -0.300000
| 1 -0.200000 0.746646
| 2 0.027753 -0.100000
| 3 0.230930 0.000000
| 4 1.100000 0.570967
|
| clip_lower(self, threshold, axis=None)
| Return copy of the input with values below given value(s) truncated.
|
| Parameters
| ----------
| threshold : float or array_like
| axis : int or string axis name, optional
| Align object with threshold along the given axis.
|
| See Also
| --------
| clip
|
| Returns
| -------
| clipped : same type as input
|
| clip_upper(self, threshold, axis=None)
| Return copy of input with values above given value(s) truncated.
|
| Parameters
| ----------
| threshold : float or array_like
| axis : int or string axis name, optional
| Align object with threshold along the given axis.
|
| See Also
| --------
| clip
|
| Returns
| -------
| clipped : same type as input
|
| consolidate(self, inplace=False)
| Compute NDFrame with "consolidated" internals (data of each dtype
| grouped together in a single ndarray). Mainly an internal API function,
| but available here to the savvy user
|
| Parameters
| ----------
| inplace : boolean, default False
| If False return new object, otherwise modify existing object
|
| Returns
| -------
| consolidated : type of caller
|
| convert_objects(self, convert_dates=True, convert_numeric=False, convert_timedeltas=True, copy=True)
| Deprecated.
|
| Attempt to infer better dtype for object columns
|
| Parameters
| ----------
| convert_dates : boolean, default True
| If True, convert to date where possible. If 'coerce', force
| conversion, with unconvertible values becoming NaT.
| convert_numeric : boolean, default False
| If True, attempt to coerce to numbers (including strings), with
| unconvertible values becoming NaN.
| convert_timedeltas : boolean, default True
| If True, convert to timedelta where possible. If 'coerce', force
| conversion, with unconvertible values becoming NaT.
| copy : boolean, default True
| If True, return a copy even if no copy is necessary (e.g. no
| conversion was done). Note: This is meant for internal use, and
| should not be confused with inplace.
|
| See Also
| --------
| pandas.to_datetime : Convert argument to datetime.
| pandas.to_timedelta : Convert argument to timedelta.
| pandas.to_numeric : Return a fixed frequency timedelta index,
| with day as the default.
|
| Returns
| -------
| converted : same as input object
|
| copy(self, deep=True)
| Make a copy of this objects data.
|
| Parameters
| ----------
| deep : boolean or string, default True
| Make a deep copy, including a copy of the data and the indices.
| With ``deep=False`` neither the indices or the data are copied.
|
| Note that when ``deep=True`` data is copied, actual python objects
| will not be copied recursively, only the reference to the object.
| This is in contrast to ``copy.deepcopy`` in the Standard Library,
| which recursively copies object data.
|
| Returns
| -------
| copy : type of caller
|
| describe(self, percentiles=None, include=None, exclude=None)
| Generate various summary statistics, excluding NaN values.
|
| Parameters
| ----------
| percentiles : array-like, optional
| The percentiles to include in the output. Should all
| be in the interval [0, 1]. By default `percentiles` is
| [.25, .5, .75], returning the 25th, 50th, and 75th percentiles.
| include, exclude : list-like, 'all', or None (default)
| Specify the form of the returned result. Either:
|
| - None to both (default). The result will include only
| numeric-typed columns or, if none are, only categorical columns.
| - A list of dtypes or strings to be included/excluded.
| To select all numeric types use numpy numpy.number. To select
| categorical objects use type object. See also the select_dtypes
| documentation. eg. df.describe(include=['O'])
| - If include is the string 'all', the output column-set will
| match the input one.
|
| Returns
| -------
| summary: NDFrame of summary statistics
|
| Notes
| -----
| The output DataFrame index depends on the requested dtypes:
|
| For numeric dtypes, it will include: count, mean, std, min,
| max, and lower, 50, and upper percentiles.
|
| For object dtypes (e.g. timestamps or strings), the index
| will include the count, unique, most common, and frequency of the
| most common. Timestamps also include the first and last items.
|
| For mixed dtypes, the index will be the union of the corresponding
| output types. Non-applicable entries will be filled with NaN.
| Note that mixed-dtype outputs can only be returned from mixed-dtype
| inputs and appropriate use of the include/exclude arguments.
|
| If multiple values have the highest count, then the
| `count` and `most common` pair will be arbitrarily chosen from
| among those with the highest count.
|
| The include, exclude arguments are ignored for Series.
|
| See Also
| --------
| DataFrame.select_dtypes
|
| drop(self, labels, axis=0, level=None, inplace=False, errors='raise')
| Return new object with labels in requested axis removed.
|
| Parameters
| ----------
| labels : single label or list-like
| axis : int or axis name
| level : int or level name, default None
| For MultiIndex
| inplace : bool, default False
| If True, do operation inplace and return None.
| errors : {'ignore', 'raise'}, default 'raise'
| If 'ignore', suppress error and existing labels are dropped.
|
| .. versionadded:: 0.16.1
|
| Returns
| -------
| dropped : type of caller
|
| equals(self, other)
| Determines if two NDFrame objects contain the same elements. NaNs in
| the same location are considered equal.
|
| ffill(self, axis=None, inplace=False, limit=None, downcast=None)
| Synonym for NDFrame.fillna(method='ffill')
|
| filter(self, items=None, like=None, regex=None, axis=None)
| Subset rows or columns of dataframe according to labels in
| the specified index.
|
| Note that this routine does not filter a dataframe on its
| contents. The filter is applied to the labels of the index.
|
| Parameters
| ----------
| items : list-like
| List of info axis to restrict to (must not all be present)
| like : string
| Keep info axis where "arg in col == True"
| regex : string (regular expression)
| Keep info axis with re.search(regex, col) == True
| axis : int or string axis name
| The axis to filter on. By default this is the info axis,
| 'index' for Series, 'columns' for DataFrame
|
| Returns
| -------
| same type as input object
|
| Examples
| --------
| >>> df
| one two three
| mouse 1 2 3
| rabbit 4 5 6
|
| >>> # select columns by name
| >>> df.filter(items=['one', 'three'])
| one three
| mouse 1 3
| rabbit 4 6
|
| >>> # select columns by regular expression
| >>> df.filter(regex='e$', axis=1)
| one three
| mouse 1 3
| rabbit 4 6
|
| >>> # select rows containing 'bbi'
| >>> df.filter(like='bbi', axis=0)
| one two three
| rabbit 4 5 6
|
| See Also
| --------
| pandas.DataFrame.select
|
| Notes
| -----
| The ``items``, ``like``, and ``regex`` parameters are
| enforced to be mutually exclusive.
|
| ``axis`` defaults to the info axis that is used when indexing
| with ``[]``.
|
| first(self, offset)
| Convenience method for subsetting initial periods of time series data
| based on a date offset.
|
| Parameters
| ----------
| offset : string, DateOffset, dateutil.relativedelta
|
| Examples
| --------
| ts.first('10D') -> First 10 days
|
| Returns
| -------
| subset : type of caller
|
| get(self, key, default=None)
| Get item from object for given key (DataFrame column, Panel slice,
| etc.). Returns default value if not found.
|
| Parameters
| ----------
| key : object
|
| Returns
| -------
| value : type of items contained in object
|
| get_dtype_counts(self)
| Return the counts of dtypes in this object.
|
| get_ftype_counts(self)
| Return the counts of ftypes in this object.
|
| get_values(self)
| same as values (but handles sparseness conversions)
|
| interpolate(self, method='linear', axis=0, limit=None, inplace=False, limit_direction='forward', downcast=None, **kwargs)
| Interpolate values according to different methods.
|
| Please note that only ``method='linear'`` is supported for
| DataFrames/Series with a MultiIndex.
|
| Parameters
| ----------
| method : {'linear', 'time', 'index', 'values', 'nearest', 'zero',
| 'slinear', 'quadratic', 'cubic', 'barycentric', 'krogh',
| 'polynomial', 'spline', 'piecewise_polynomial',
| 'from_derivatives', 'pchip', 'akima'}
|
| * 'linear': ignore the index and treat the values as equally
| spaced. This is the only method supported on MultiIndexes.
| default
| * 'time': interpolation works on daily and higher resolution
| data to interpolate given length of interval
| * 'index', 'values': use the actual numerical values of the index
| * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',
| 'barycentric', 'polynomial' is passed to
| ``scipy.interpolate.interp1d``. Both 'polynomial' and 'spline'
| require that you also specify an `order` (int),
| e.g. df.interpolate(method='polynomial', order=4).
| These use the actual numerical values of the index.
| * 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima' are all
| wrappers around the scipy interpolation methods of similar
| names. These use the actual numerical values of the index. See
| the scipy documentation for more on their behavior
| `here <http://docs.scipy.org/doc/scipy/reference/interpolate.html#univariate-interpolation>`__ # noqa
| `and here <http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html>`__ # noqa
| * 'from_derivatives' refers to BPoly.from_derivatives which
| replaces 'piecewise_polynomial' interpolation method in scipy 0.18
|
| .. versionadded:: 0.18.1
|
| Added support for the 'akima' method
| Added interpolate method 'from_derivatives' which replaces
| 'piecewise_polynomial' in scipy 0.18; backwards-compatible with
| scipy < 0.18
|
| axis : {0, 1}, default 0
| * 0: fill column-by-column
| * 1: fill row-by-row
| limit : int, default None.
| Maximum number of consecutive NaNs to fill.
| limit_direction : {'forward', 'backward', 'both'}, defaults to 'forward'
| If limit is specified, consecutive NaNs will be filled in this
| direction.
|
| .. versionadded:: 0.17.0
|
| inplace : bool, default False
| Update the NDFrame in place if possible.
| downcast : optional, 'infer' or None, defaults to None
| Downcast dtypes if possible.
| kwargs : keyword arguments to pass on to the interpolating function.
|
| Returns
| -------
| Series or DataFrame of same shape interpolated at the NaNs
|
| See Also
| --------
| reindex, replace, fillna
|
| Examples
| --------
|
| Filling in NaNs
|
| >>> s = pd.Series([0, 1, np.nan, 3])
| >>> s.interpolate()
| 0 0
| 1 1
| 2 2
| 3 3
| dtype: float64
|
| isnull(self)
| Return a boolean same-sized object indicating if the values are null.
|
| See Also
| --------
| notnull : boolean inverse of isnull
|
| iteritems(self)
| Iterate over (label, values) on info axis
|
| This is index for Series, columns for DataFrame, major_axis for Panel,
| and so on.
|
| iterkv(self, *args, **kwargs)
| iteritems alias used to get around 2to3. Deprecated
|
| keys(self)
| Get the 'info axis' (see Indexing for more)
|
| This is index for Series, columns for DataFrame and major_axis for
| Panel.
|
| last(self, offset)
| Convenience method for subsetting final periods of time series data
| based on a date offset.
|
| Parameters
| ----------
| offset : string, DateOffset, dateutil.relativedelta
|
| Examples
| --------
| ts.last('5M') -> Last 5 months
|
| Returns
| -------
| subset : type of caller
|
| mask(self, cond, other=nan, inplace=False, axis=None, level=None, try_cast=False, raise_on_error=True)
| Return an object of same shape as self and whose corresponding
| entries are from self where cond is False and otherwise are from
| other.
|
| Parameters
| ----------
| cond : boolean NDFrame, array or callable
| If cond is callable, it is computed on the NDFrame and
| should return boolean NDFrame or array.
| The callable must not change input NDFrame
| (though pandas doesn't check it).
|
| .. versionadded:: 0.18.1
|
| A callable can be used as cond.
|
| other : scalar, NDFrame, or callable
| If other is callable, it is computed on the NDFrame and
| should return scalar or NDFrame.
| The callable must not change input NDFrame
| (though pandas doesn't check it).
|
| .. versionadded:: 0.18.1
|
| A callable can be used as other.
|
| inplace : boolean, default False
| Whether to perform the operation in place on the data
| axis : alignment axis if needed, default None
| level : alignment level if needed, default None
| try_cast : boolean, default False
| try to cast the result back to the input type (if possible),
| raise_on_error : boolean, default True
| Whether to raise on invalid data types (e.g. trying to where on
| strings)
|
| Returns
| -------
| wh : same type as caller
|
| Notes
| -----
| The mask method is an application of the if-then idiom. For each
| element in the calling DataFrame, if ``cond`` is ``False`` the
| element is used; otherwise the corresponding element from the DataFrame
| ``other`` is used.
|
| The signature for :func:`DataFrame.where` differs from
| :func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to
| ``np.where(m, df1, df2)``.
|
| For further details and examples see the ``mask`` documentation in
| :ref:`indexing <indexing.where_mask>`.
|
| Examples
| --------
| >>> s = pd.Series(range(5))
| >>> s.where(s > 0)
| 0 NaN
| 1 1.0
| 2 2.0
| 3 3.0
| 4 4.0
|
| >>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
| >>> m = df % 3 == 0
| >>> df.where(m, -df)
| A B
| 0 0 -1
| 1 -2 3
| 2 -4 -5
| 3 6 -7
| 4 -8 9
| >>> df.where(m, -df) == np.where(m, df, -df)
| A B
| 0 True True
| 1 True True
| 2 True True
| 3 True True
| 4 True True
| >>> df.where(m, -df) == df.mask(~m, -df)
| A B
| 0 True True
| 1 True True
| 2 True True
| 3 True True
| 4 True True
|
| See Also
| --------
| :func:`DataFrame.where`
|
| notnull(self)
| Return a boolean same-sized object indicating if the values are
| not null.
|
| See Also
| --------
| isnull : boolean inverse of notnull
|
| pct_change(self, periods=1, fill_method='pad', limit=None, freq=None, **kwargs)
| Percent change over given number of periods.
|
| Parameters
| ----------
| periods : int, default 1
| Periods to shift for forming percent change
| fill_method : str, default 'pad'
| How to handle NAs before computing percent changes
| limit : int, default None
| The number of consecutive NAs to fill before stopping
| freq : DateOffset, timedelta, or offset alias string, optional
| Increment to use from time series API (e.g. 'M' or BDay())
|
| Returns
| -------
| chg : NDFrame
|
| Notes
| -----
|
| By default, the percentage change is calculated along the stat
| axis: 0, or ``Index``, for ``DataFrame`` and 1, or ``minor`` for
| ``Panel``. You can change this with the ``axis`` keyword argument.
|
| pipe(self, func, *args, **kwargs)
| Apply func(self, \*args, \*\*kwargs)
|
| .. versionadded:: 0.16.2
|
| Parameters
| ----------
| func : function
| function to apply to the NDFrame.
| ``args``, and ``kwargs`` are passed into ``func``.
| Alternatively a ``(callable, data_keyword)`` tuple where
| ``data_keyword`` is a string indicating the keyword of
| ``callable`` that expects the NDFrame.
| args : positional arguments passed into ``func``.
| kwargs : a dictionary of keyword arguments passed into ``func``.
|
| Returns
| -------
| object : the return type of ``func``.
|
| Notes
| -----
|
| Use ``.pipe`` when chaining together functions that expect
| on Series or DataFrames. Instead of writing
|
| >>> f(g(h(df), arg1=a), arg2=b, arg3=c)
|
| You can write
|
| >>> (df.pipe(h)
| ... .pipe(g, arg1=a)
| ... .pipe(f, arg2=b, arg3=c)
| ... )
|
| If you have a function that takes the data as (say) the second
| argument, pass a tuple indicating which keyword expects the
| data. For example, suppose ``f`` takes its data as ``arg2``:
|
| >>> (df.pipe(h)
| ... .pipe(g, arg1=a)
| ... .pipe((f, 'arg2'), arg1=a, arg3=c)
| ... )
|
| See Also
| --------
| pandas.DataFrame.apply
| pandas.DataFrame.applymap
| pandas.Series.map
|
| pop(self, item)
| Return item and drop from frame. Raise KeyError if not found.
|
| rank(self, axis=0, method='average', numeric_only=None, na_option='keep', ascending=True, pct=False)
| Compute numerical data ranks (1 through n) along axis. Equal values are
| assigned a rank that is the average of the ranks of those values
|
| Parameters
| ----------
| axis: {0 or 'index', 1 or 'columns'}, default 0
| index to direct ranking
| method : {'average', 'min', 'max', 'first', 'dense'}
| * average: average rank of group
| * min: lowest rank in group
| * max: highest rank in group
| * first: ranks assigned in order they appear in the array
| * dense: like 'min', but rank always increases by 1 between groups
| numeric_only : boolean, default None
| Include only float, int, boolean data. Valid only for DataFrame or
| Panel objects
| na_option : {'keep', 'top', 'bottom'}
| * keep: leave NA values where they are
| * top: smallest rank if ascending
| * bottom: smallest rank if descending
| ascending : boolean, default True
| False for ranks by high (1) to low (N)
| pct : boolean, default False
| Computes percentage rank of data
|
| Returns
| -------
| ranks : same type as caller
|
| reindex_like(self, other, method=None, copy=True, limit=None, tolerance=None)
| Return an object with matching indices to myself.
|
| Parameters
| ----------
| other : Object
| method : string or None
| copy : boolean, default True
| limit : int, default None
| Maximum number of consecutive labels to fill for inexact matches.
| tolerance : optional
| Maximum distance between labels of the other object and this
| object for inexact matches.
|
| .. versionadded:: 0.17.0
|
| Notes
| -----
| Like calling s.reindex(index=other.index, columns=other.columns,
| method=...)
|
| Returns
| -------
| reindexed : same as input
|
| rename_axis(self, mapper, axis=0, copy=True, inplace=False)
| Alter index and / or columns using input function or functions.
| A scaler or list-like for ``mapper`` will alter the ``Index.name``
| or ``MultiIndex.names`` attribute.
| A function or dict for ``mapper`` will alter the labels.
| Function / dict values must be unique (1-to-1). Labels not contained in
| a dict / Series will be left as-is.
|
| Parameters
| ----------
| mapper : scalar, list-like, dict-like or function, optional
| axis : int or string, default 0
| copy : boolean, default True
| Also copy underlying data
| inplace : boolean, default False
|
| Returns
| -------
| renamed : type of caller
|
| See Also
| --------
| pandas.NDFrame.rename
| pandas.Index.rename
|
| Examples
| --------
| >>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
| >>> df.rename_axis("foo") # scalar, alters df.index.name
| A B
| foo
| 0 1 4
| 1 2 5
| 2 3 6
| >>> df.rename_axis(lambda x: 2 * x) # function: alters labels
| A B
| 0 1 4
| 2 2 5
| 4 3 6
| >>> df.rename_axis({"A": "ehh", "C": "see"}, axis="columns") # mapping
| ehh B
| 0 1 4
| 1 2 5
| 2 3 6
|
| replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)
| Replace values given in 'to_replace' with 'value'.
|
| Parameters
| ----------
| to_replace : str, regex, list, dict, Series, numeric, or None
|
| * str or regex:
|
| - str: string exactly matching `to_replace` will be replaced
| with `value`
| - regex: regexs matching `to_replace` will be replaced with
| `value`
|
| * list of str, regex, or numeric:
|
| - First, if `to_replace` and `value` are both lists, they
| **must** be the same length.
| - Second, if ``regex=True`` then all of the strings in **both**
| lists will be interpreted as regexs otherwise they will match
| directly. This doesn't matter much for `value` since there
| are only a few possible substitution regexes you can use.
| - str and regex rules apply as above.
|
| * dict:
|
| - Nested dictionaries, e.g., {'a': {'b': nan}}, are read as
| follows: look in column 'a' for the value 'b' and replace it
| with nan. You can nest regular expressions as well. Note that
| column names (the top-level dictionary keys in a nested
| dictionary) **cannot** be regular expressions.
| - Keys map to column names and values map to substitution
| values. You can treat this as a special case of passing two
| lists except that you are specifying the column to search in.
|
| * None:
|
| - This means that the ``regex`` argument must be a string,
| compiled regular expression, or list, dict, ndarray or Series
| of such elements. If `value` is also ``None`` then this
| **must** be a nested dictionary or ``Series``.
|
| See the examples section for examples of each of these.
| value : scalar, dict, list, str, regex, default None
| Value to use to fill holes (e.g. 0), alternately a dict of values
| specifying which value to use for each column (columns not in the
| dict will not be filled). Regular expressions, strings and lists or
| dicts of such objects are also allowed.
| inplace : boolean, default False
| If True, in place. Note: this will modify any
| other views on this object (e.g. a column form a DataFrame).
| Returns the caller if this is True.
| limit : int, default None
| Maximum size gap to forward or backward fill
| regex : bool or same types as `to_replace`, default False
| Whether to interpret `to_replace` and/or `value` as regular
| expressions. If this is ``True`` then `to_replace` *must* be a
| string. Otherwise, `to_replace` must be ``None`` because this
| parameter will be interpreted as a regular expression or a list,
| dict, or array of regular expressions.
| method : string, optional, {'pad', 'ffill', 'bfill'}
| The method to use when for replacement, when ``to_replace`` is a
| ``list``.
|
| See Also
| --------
| NDFrame.reindex
| NDFrame.asfreq
| NDFrame.fillna
|
| Returns
| -------
| filled : NDFrame
|
| Raises
| ------
| AssertionError
| * If `regex` is not a ``bool`` and `to_replace` is not ``None``.
| TypeError
| * If `to_replace` is a ``dict`` and `value` is not a ``list``,
| ``dict``, ``ndarray``, or ``Series``
| * If `to_replace` is ``None`` and `regex` is not compilable into a
| regular expression or is a list, dict, ndarray, or Series.
| ValueError
| * If `to_replace` and `value` are ``list`` s or ``ndarray`` s, but
| they are not the same length.
|
| Notes
| -----
| * Regex substitution is performed under the hood with ``re.sub``. The
| rules for substitution for ``re.sub`` are the same.
| * Regular expressions will only substitute on strings, meaning you
| cannot provide, for example, a regular expression matching floating
| point numbers and expect the columns in your frame that have a
| numeric dtype to be matched. However, if those floating point numbers
| *are* strings, then you can do this.
| * This method has *a lot* of options. You are encouraged to experiment
| and play with this method to gain intuition about how it works.
|
| resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start', kind=None, loffset=None, limit=None, base=0, on=None, level=None)
| Convenience method for frequency conversion and resampling of time
| series. Object must have a datetime-like index (DatetimeIndex,
| PeriodIndex, or TimedeltaIndex), or pass datetime-like values
| to the on or level keyword.
|
| Parameters
| ----------
| rule : string
| the offset string or object representing target conversion
| axis : int, optional, default 0
| closed : {'right', 'left'}
| Which side of bin interval is closed
| label : {'right', 'left'}
| Which bin edge label to label bucket with
| convention : {'start', 'end', 's', 'e'}
| loffset : timedelta
| Adjust the resampled time labels
| base : int, default 0
| For frequencies that evenly subdivide 1 day, the "origin" of the
| aggregated intervals. For example, for '5min' frequency, base could
| range from 0 through 4. Defaults to 0
| on : string, optional
| For a DataFrame, column to use instead of index for resampling.
| Column must be datetime-like.
|
| .. versionadded:: 0.19.0
|
| level : string or int, optional
| For a MultiIndex, level (name or number) to use for
| resampling. Level must be datetime-like.
|
| .. versionadded:: 0.19.0
|
| To learn more about the offset strings, please see `this link
| <http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases>`__.
|
| Examples
| --------
|
| Start by creating a series with 9 one minute timestamps.
|
| >>> index = pd.date_range('1/1/2000', periods=9, freq='T')
| >>> series = pd.Series(range(9), index=index)
| >>> series
| 2000-01-01 00:00:00 0
| 2000-01-01 00:01:00 1
| 2000-01-01 00:02:00 2
| 2000-01-01 00:03:00 3
| 2000-01-01 00:04:00 4
| 2000-01-01 00:05:00 5
| 2000-01-01 00:06:00 6
| 2000-01-01 00:07:00 7
| 2000-01-01 00:08:00 8
| Freq: T, dtype: int64
|
| Downsample the series into 3 minute bins and sum the values
| of the timestamps falling into a bin.
|
| >>> series.resample('3T').sum()
| 2000-01-01 00:00:00 3
| 2000-01-01 00:03:00 12
| 2000-01-01 00:06:00 21
| Freq: 3T, dtype: int64
|
| Downsample the series into 3 minute bins as above, but label each
| bin using the right edge instead of the left. Please note that the
| value in the bucket used as the label is not included in the bucket,
| which it labels. For example, in the original series the
| bucket ``2000-01-01 00:03:00`` contains the value 3, but the summed
| value in the resampled bucket with the label``2000-01-01 00:03:00``
| does not include 3 (if it did, the summed value would be 6, not 3).
| To include this value close the right side of the bin interval as
| illustrated in the example below this one.
|
| >>> series.resample('3T', label='right').sum()
| 2000-01-01 00:03:00 3
| 2000-01-01 00:06:00 12
| 2000-01-01 00:09:00 21
| Freq: 3T, dtype: int64
|
| Downsample the series into 3 minute bins as above, but close the right
| side of the bin interval.
|
| >>> series.resample('3T', label='right', closed='right').sum()
| 2000-01-01 00:00:00 0
| 2000-01-01 00:03:00 6
| 2000-01-01 00:06:00 15
| 2000-01-01 00:09:00 15
| Freq: 3T, dtype: int64
|
| Upsample the series into 30 second bins.
|
| >>> series.resample('30S').asfreq()[0:5] #select first 5 rows
| 2000-01-01 00:00:00 0
| 2000-01-01 00:00:30 NaN
| 2000-01-01 00:01:00 1
| 2000-01-01 00:01:30 NaN
| 2000-01-01 00:02:00 2
| Freq: 30S, dtype: float64
|
| Upsample the series into 30 second bins and fill the ``NaN``
| values using the ``pad`` method.
|
| >>> series.resample('30S').pad()[0:5]
| 2000-01-01 00:00:00 0
| 2000-01-01 00:00:30 0
| 2000-01-01 00:01:00 1
| 2000-01-01 00:01:30 1
| 2000-01-01 00:02:00 2
| Freq: 30S, dtype: int64
|
| Upsample the series into 30 second bins and fill the
| ``NaN`` values using the ``bfill`` method.
|
| >>> series.resample('30S').bfill()[0:5]
| 2000-01-01 00:00:00 0
| 2000-01-01 00:00:30 1
| 2000-01-01 00:01:00 1
| 2000-01-01 00:01:30 2
| 2000-01-01 00:02:00 2
| Freq: 30S, dtype: int64
|
| Pass a custom function via ``apply``
|
| >>> def custom_resampler(array_like):
| ... return np.sum(array_like)+5
|
| >>> series.resample('3T').apply(custom_resampler)
| 2000-01-01 00:00:00 8
| 2000-01-01 00:03:00 17
| 2000-01-01 00:06:00 26
| Freq: 3T, dtype: int64
|
| sample(self, n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
| Returns a random sample of items from an axis of object.
|
| .. versionadded:: 0.16.1
|
| Parameters
| ----------
| n : int, optional
| Number of items from axis to return. Cannot be used with `frac`.
| Default = 1 if `frac` = None.
| frac : float, optional
| Fraction of axis items to return. Cannot be used with `n`.
| replace : boolean, optional
| Sample with or without replacement. Default = False.
| weights : str or ndarray-like, optional
| Default 'None' results in equal probability weighting.
| If passed a Series, will align with target object on index. Index
| values in weights not found in sampled object will be ignored and
| index values in sampled object not in weights will be assigned
| weights of zero.
| If called on a DataFrame, will accept the name of a column
| when axis = 0.
| Unless weights are a Series, weights must be same length as axis
| being sampled.
| If weights do not sum to 1, they will be normalized to sum to 1.
| Missing values in the weights column will be treated as zero.
| inf and -inf values not allowed.
| random_state : int or numpy.random.RandomState, optional
| Seed for the random number generator (if int), or numpy RandomState
| object.
| axis : int or string, optional
| Axis to sample. Accepts axis number or name. Default is stat axis
| for given data type (0 for Series and DataFrames, 1 for Panels).
|
| Returns
| -------
| A new object of same type as caller.
|
| Examples
| --------
|
| Generate an example ``Series`` and ``DataFrame``:
|
| >>> s = pd.Series(np.random.randn(50))
| >>> s.head()
| 0 -0.038497
| 1 1.820773
| 2 -0.972766
| 3 -1.598270
| 4 -1.095526
| dtype: float64
| >>> df = pd.DataFrame(np.random.randn(50, 4), columns=list('ABCD'))
| >>> df.head()
| A B C D
| 0 0.016443 -2.318952 -0.566372 -1.028078
| 1 -1.051921 0.438836 0.658280 -0.175797
| 2 -1.243569 -0.364626 -0.215065 0.057736
| 3 1.768216 0.404512 -0.385604 -1.457834
| 4 1.072446 -1.137172 0.314194 -0.046661
|
| Next extract a random sample from both of these objects...
|
| 3 random elements from the ``Series``:
|
| >>> s.sample(n=3)
| 27 -0.994689
| 55 -1.049016
| 67 -0.224565
| dtype: float64
|
| And a random 10% of the ``DataFrame`` with replacement:
|
| >>> df.sample(frac=0.1, replace=True)
| A B C D
| 35 1.981780 0.142106 1.817165 -0.290805
| 49 -1.336199 -0.448634 -0.789640 0.217116
| 40 0.823173 -0.078816 1.009536 1.015108
| 15 1.421154 -0.055301 -1.922594 -0.019696
| 6 -0.148339 0.832938 1.787600 -1.383767
|
| select(self, crit, axis=0)
| Return data corresponding to axis labels matching criteria
|
| Parameters
| ----------
| crit : function
| To be called on each index (label). Should return True or False
| axis : int
|
| Returns
| -------
| selection : type of caller
|
| set_axis(self, axis, labels)
| public verson of axis assignment
|
| slice_shift(self, periods=1, axis=0)
| Equivalent to `shift` without copying data. The shifted data will
| not include the dropped periods and the shifted axis will be smaller
| than the original.
|
| Parameters
| ----------
| periods : int
| Number of periods to move, can be positive or negative
|
| Notes
| -----
| While the `slice_shift` is faster than `shift`, you may pay for it
| later during alignment.
|
| Returns
| -------
| shifted : same type as caller
|
| sort_index(self, axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True)
| Sort object by labels (along an axis)
|
| Parameters
| ----------
| axis : axes to direct sorting
| level : int or level name or list of ints or list of level names
| if not None, sort on values in specified index level(s)
| ascending : boolean, default True
| Sort ascending vs. descending
| inplace : bool, default False
| if True, perform operation in-place
| kind : {'quicksort', 'mergesort', 'heapsort'}, default 'quicksort'
| Choice of sorting algorithm. See also ndarray.np.sort for more
| information. `mergesort` is the only stable algorithm. For
| DataFrames, this option is only applied when sorting on a single
| column or label.
| na_position : {'first', 'last'}, default 'last'
| `first` puts NaNs at the beginning, `last` puts NaNs at the end
| sort_remaining : bool, default True
| if true and sorting by level and index is multilevel, sort by other
| levels too (in order) after sorting by specified level
|
| Returns
| -------
| sorted_obj : NDFrame
|
| sort_values(self, by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
|
| squeeze(self, **kwargs)
| Squeeze length 1 dimensions.
|
| swapaxes(self, axis1, axis2, copy=True)
| Interchange axes and swap values axes appropriately
|
| Returns
| -------
| y : same as input
|
| swaplevel(self, i=-2, j=-1, axis=0)
| Swap levels i and j in a MultiIndex on a particular axis
|
| Parameters
| ----------
| i, j : int, string (can be mixed)
| Level of index to be swapped. Can pass level name as string.
|
| Returns
| -------
| swapped : type of caller (new object)
|
| .. versionchanged:: 0.18.1
|
| The indexes ``i`` and ``j`` are now optional, and default to
| the two innermost levels of the index.
|
| take(self, indices, axis=0, convert=True, is_copy=True, **kwargs)
| Analogous to ndarray.take
|
| Parameters
| ----------
| indices : list / array of ints
| axis : int, default 0
| convert : translate neg to pos indices (default)
| is_copy : mark the returned frame as a copy
|
| Returns
| -------
| taken : type of caller
|
| to_clipboard(self, excel=None, sep=None, **kwargs)
| Attempt to write text representation of object to the system clipboard
| This can be pasted into Excel, for example.
|
| Parameters
| ----------
| excel : boolean, defaults to True
| if True, use the provided separator, writing in a csv
| format for allowing easy pasting into excel.
| if False, write a string representation of the object
| to the clipboard
| sep : optional, defaults to tab
| other keywords are passed to to_csv
|
| Notes
| -----
| Requirements for your platform
| - Linux: xclip, or xsel (with gtk or PyQt4 modules)
| - Windows: none
| - OS X: none
|
| to_dense(self)
| Return dense representation of NDFrame (as opposed to sparse)
|
| to_hdf(self, path_or_buf, key, **kwargs)
| Write the contained data to an HDF5 file using HDFStore.
|
| Parameters
| ----------
| path_or_buf : the path (string) or HDFStore object
| key : string
| indentifier for the group in the store
| mode : optional, {'a', 'w', 'r+'}, default 'a'
|
| ``'w'``
| Write; a new file is created (an existing file with the same
| name would be deleted).
| ``'a'``
| Append; an existing file is opened for reading and writing,
| and if the file does not exist it is created.
| ``'r+'``
| It is similar to ``'a'``, but the file must already exist.
| format : 'fixed(f)|table(t)', default is 'fixed'
| fixed(f) : Fixed format
| Fast writing/reading. Not-appendable, nor searchable
| table(t) : Table format
| Write as a PyTables Table structure which may perform
| worse but allow more flexible operations like searching
| / selecting subsets of the data
| append : boolean, default False
| For Table formats, append the input data to the existing
| data_columns : list of columns, or True, default None
| List of columns to create as indexed data columns for on-disk
| queries, or True to use all columns. By default only the axes
| of the object are indexed. See `here
| <http://pandas.pydata.org/pandas-docs/stable/io.html#query-via-data-columns>`__.
|
| Applicable only to format='table'.
| complevel : int, 1-9, default 0
| If a complib is specified compression will be applied
| where possible
| complib : {'zlib', 'bzip2', 'lzo', 'blosc', None}, default None
| If complevel is > 0 apply compression to objects written
| in the store wherever possible
| fletcher32 : bool, default False
| If applying compression use the fletcher32 checksum
| dropna : boolean, default False.
| If true, ALL nan rows will not be written to store.
|
| to_json(self, path_or_buf=None, orient=None, date_format='epoch', double_precision=10, force_ascii=True, date_unit='ms', default_handler=None, lines=False)
| Convert the object to a JSON string.
|
| Note NaN's and None will be converted to null and datetime objects
| will be converted to UNIX timestamps.
|
| Parameters
| ----------
| path_or_buf : the path or buffer to write the result string
| if this is None, return a StringIO of the converted string
| orient : string
|
| * Series
|
| - default is 'index'
| - allowed values are: {'split','records','index'}
|
| * DataFrame
|
| - default is 'columns'
| - allowed values are:
| {'split','records','index','columns','values'}
|
| * The format of the JSON string
|
| - split : dict like
| {index -> [index], columns -> [columns], data -> [values]}
| - records : list like
| [{column -> value}, ... , {column -> value}]
| - index : dict like {index -> {column -> value}}
| - columns : dict like {column -> {index -> value}}
| - values : just the values array
|
| date_format : {'epoch', 'iso'}
| Type of date conversion. `epoch` = epoch milliseconds,
| `iso`` = ISO8601, default is epoch.
| double_precision : The number of decimal places to use when encoding
| floating point values, default 10.
| force_ascii : force encoded string to be ASCII, default True.
| date_unit : string, default 'ms' (milliseconds)
| The time unit to encode to, governs timestamp and ISO8601
| precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,
| microsecond, and nanosecond respectively.
| default_handler : callable, default None
| Handler to call if object cannot otherwise be converted to a
| suitable format for JSON. Should receive a single argument which is
| the object to convert and return a serialisable object.
| lines : boolean, defalut False
| If 'orient' is 'records' write out line delimited json format. Will
| throw ValueError if incorrect 'orient' since others are not list
| like.
|
| .. versionadded:: 0.19.0
|
|
| Returns
| -------
| same type as input object with filtered info axis
|
| to_msgpack(self, path_or_buf=None, encoding='utf-8', **kwargs)
| msgpack (serialize) object to input file path
|
| THIS IS AN EXPERIMENTAL LIBRARY and the storage format
| may not be stable until a future release.
|
| Parameters
| ----------
| path : string File path, buffer-like, or None
| if None, return generated string
| append : boolean whether to append to an existing msgpack
| (default is False)
| compress : type of compressor (zlib or blosc), default to None (no
| compression)
|
| to_pickle(self, path)
| Pickle (serialize) object to input file path.
|
| Parameters
| ----------
| path : string
| File path
|
| to_sql(self, name, con, flavor=None, schema=None, if_exists='fail', index=True, index_label=None, chunksize=None, dtype=None)
| Write records stored in a DataFrame to a SQL database.
|
| Parameters
| ----------
| name : string
| Name of SQL table
| con : SQLAlchemy engine or DBAPI2 connection (legacy mode)
| Using SQLAlchemy makes it possible to use any DB supported by that
| library. If a DBAPI2 object, only sqlite3 is supported.
| flavor : 'sqlite', default None
| DEPRECATED: this parameter will be removed in a future version,
| as 'sqlite' is the only supported option if SQLAlchemy is not
| installed.
| schema : string, default None
| Specify the schema (if database flavor supports this). If None, use
| default schema.
| if_exists : {'fail', 'replace', 'append'}, default 'fail'
| - fail: If table exists, do nothing.
| - replace: If table exists, drop it, recreate it, and insert data.
| - append: If table exists, insert data. Create if does not exist.
| index : boolean, default True
| Write DataFrame index as a column.
| index_label : string or sequence, default None
| Column label for index column(s). If None is given (default) and
| `index` is True, then the index names are used.
| A sequence should be given if the DataFrame uses MultiIndex.
| chunksize : int, default None
| If not None, then rows will be written in batches of this size at a
| time. If None, all rows will be written at once.
| dtype : dict of column name to SQL type, default None
| Optional specifying the datatype for columns. The SQL type should
| be a SQLAlchemy type, or a string for sqlite3 fallback connection.
|
| to_xarray(self)
| Return an xarray object from the pandas object.
|
| Returns
| -------
| a DataArray for a Series
| a Dataset for a DataFrame
| a DataArray for higher dims
|
| Examples
| --------
| >>> df = pd.DataFrame({'A' : [1, 1, 2],
| 'B' : ['foo', 'bar', 'foo'],
| 'C' : np.arange(4.,7)})
| >>> df
| A B C
| 0 1 foo 4.0
| 1 1 bar 5.0
| 2 2 foo 6.0
|
| >>> df.to_xarray()
| <xarray.Dataset>
| Dimensions: (index: 3)
| Coordinates:
| * index (index) int64 0 1 2
| Data variables:
| A (index) int64 1 1 2
| B (index) object 'foo' 'bar' 'foo'
| C (index) float64 4.0 5.0 6.0
|
| >>> df = pd.DataFrame({'A' : [1, 1, 2],
| 'B' : ['foo', 'bar', 'foo'],
| 'C' : np.arange(4.,7)}
| ).set_index(['B','A'])
| >>> df
| C
| B A
| foo 1 4.0
| bar 1 5.0
| foo 2 6.0
|
| >>> df.to_xarray()
| <xarray.Dataset>
| Dimensions: (A: 2, B: 2)
| Coordinates:
| * B (B) object 'bar' 'foo'
| * A (A) int64 1 2
| Data variables:
| C (B, A) float64 5.0 nan 4.0 6.0
|
| >>> p = pd.Panel(np.arange(24).reshape(4,3,2),
| items=list('ABCD'),
| major_axis=pd.date_range('20130101', periods=3),
| minor_axis=['first', 'second'])
| >>> p
| <class 'pandas.core.panel.Panel'>
| Dimensions: 4 (items) x 3 (major_axis) x 2 (minor_axis)
| Items axis: A to D
| Major_axis axis: 2013-01-01 00:00:00 to 2013-01-03 00:00:00
| Minor_axis axis: first to second
|
| >>> p.to_xarray()
| <xarray.DataArray (items: 4, major_axis: 3, minor_axis: 2)>
| array([[[ 0, 1],
| [ 2, 3],
| [ 4, 5]],
| [[ 6, 7],
| [ 8, 9],
| [10, 11]],
| [[12, 13],
| [14, 15],
| [16, 17]],
| [[18, 19],
| [20, 21],
| [22, 23]]])
| Coordinates:
| * items (items) object 'A' 'B' 'C' 'D'
| * major_axis (major_axis) datetime64[ns] 2013-01-01 2013-01-02 2013-01-03 # noqa
| * minor_axis (minor_axis) object 'first' 'second'
|
| Notes
| -----
| See the `xarray docs <http://xarray.pydata.org/en/stable/>`__
|
| truncate(self, before=None, after=None, axis=None, copy=True)
| Truncates a sorted NDFrame before and/or after some particular
| index value. If the axis contains only datetime values, before/after
| parameters are converted to datetime values.
|
| Parameters
| ----------
| before : date
| Truncate before index value
| after : date
| Truncate after index value
| axis : the truncation axis, defaults to the stat axis
| copy : boolean, default is True,
| return a copy of the truncated section
|
| Returns
| -------
| truncated : type of caller
|
| tz_convert(self, tz, axis=0, level=None, copy=True)
| Convert tz-aware axis to target time zone.
|
| Parameters
| ----------
| tz : string or pytz.timezone object
| axis : the axis to convert
| level : int, str, default None
| If axis ia a MultiIndex, convert a specific level. Otherwise
| must be None
| copy : boolean, default True
| Also make a copy of the underlying data
|
| Returns
| -------
|
| Raises
| ------
| TypeError
| If the axis is tz-naive.
|
| tz_localize(self, tz, axis=0, level=None, copy=True, ambiguous='raise')
| Localize tz-naive TimeSeries to target time zone.
|
| Parameters
| ----------
| tz : string or pytz.timezone object
| axis : the axis to localize
| level : int, str, default None
| If axis ia a MultiIndex, localize a specific level. Otherwise
| must be None
| copy : boolean, default True
| Also make a copy of the underlying data
| ambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'
| - 'infer' will attempt to infer fall dst-transition hours based on
| order
| - bool-ndarray where True signifies a DST time, False designates
| a non-DST time (note that this flag is only applicable for
| ambiguous times)
| - 'NaT' will return NaT where there are ambiguous times
| - 'raise' will raise an AmbiguousTimeError if there are ambiguous
| times
| infer_dst : boolean, default False (DEPRECATED)
| Attempt to infer fall dst-transition hours based on order
|
| Returns
| -------
|
| Raises
| ------
| TypeError
| If the TimeSeries is tz-aware and tz is not None.
|
| where(self, cond, other=nan, inplace=False, axis=None, level=None, try_cast=False, raise_on_error=True)
| Return an object of same shape as self and whose corresponding
| entries are from self where cond is True and otherwise are from
| other.
|
| Parameters
| ----------
| cond : boolean NDFrame, array or callable
| If cond is callable, it is computed on the NDFrame and
| should return boolean NDFrame or array.
| The callable must not change input NDFrame
| (though pandas doesn't check it).
|
| .. versionadded:: 0.18.1
|
| A callable can be used as cond.
|
| other : scalar, NDFrame, or callable
| If other is callable, it is computed on the NDFrame and
| should return scalar or NDFrame.
| The callable must not change input NDFrame
| (though pandas doesn't check it).
|
| .. versionadded:: 0.18.1
|
| A callable can be used as other.
|
| inplace : boolean, default False
| Whether to perform the operation in place on the data
| axis : alignment axis if needed, default None
| level : alignment level if needed, default None
| try_cast : boolean, default False
| try to cast the result back to the input type (if possible),
| raise_on_error : boolean, default True
| Whether to raise on invalid data types (e.g. trying to where on
| strings)
|
| Returns
| -------
| wh : same type as caller
|
| Notes
| -----
| The where method is an application of the if-then idiom. For each
| element in the calling DataFrame, if ``cond`` is ``True`` the
| element is used; otherwise the corresponding element from the DataFrame
| ``other`` is used.
|
| The signature for :func:`DataFrame.where` differs from
| :func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to
| ``np.where(m, df1, df2)``.
|
| For further details and examples see the ``where`` documentation in
| :ref:`indexing <indexing.where_mask>`.
|
| Examples
| --------
| >>> s = pd.Series(range(5))
| >>> s.where(s > 0)
| 0 NaN
| 1 1.0
| 2 2.0
| 3 3.0
| 4 4.0
|
| >>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
| >>> m = df % 3 == 0
| >>> df.where(m, -df)
| A B
| 0 0 -1
| 1 -2 3
| 2 -4 -5
| 3 6 -7
| 4 -8 9
| >>> df.where(m, -df) == np.where(m, df, -df)
| A B
| 0 True True
| 1 True True
| 2 True True
| 3 True True
| 4 True True
| >>> df.where(m, -df) == df.mask(~m, -df)
| A B
| 0 True True
| 1 True True
| 2 True True
| 3 True True
| 4 True True
|
| See Also
| --------
| :func:`DataFrame.mask`
|
| ----------------------------------------------------------------------
| Data descriptors inherited from pandas.core.generic.NDFrame:
|
| at
| Fast label-based scalar accessor
|
| Similarly to ``loc``, ``at`` provides **label** based scalar lookups.
| You can also set using these indexers.
|
| axes
| Return index label(s) of the internal NDFrame
|
| blocks
| Internal property, property synonym for as_blocks()
|
| dtypes
| Return the dtypes in this object.
|
| empty
| True if NDFrame is entirely empty [no items], meaning any of the
| axes are of length 0.
|
| Notes
| -----
| If NDFrame contains only NaNs, it is still not considered empty. See
| the example below.
|
| Examples
| --------
| An example of an actual empty DataFrame. Notice the index is empty:
|
| >>> df_empty = pd.DataFrame({'A' : []})
| >>> df_empty
| Empty DataFrame
| Columns: [A]
| Index: []
| >>> df_empty.empty
| True
|
| If we only have NaNs in our DataFrame, it is not considered empty! We
| will need to drop the NaNs to make the DataFrame empty:
|
| >>> df = pd.DataFrame({'A' : [np.nan]})
| >>> df
| A
| 0 NaN
| >>> df.empty
| False
| >>> df.dropna().empty
| True
|
| See also
| --------
| pandas.Series.dropna
| pandas.DataFrame.dropna
|
| ftypes
| Return the ftypes (indication of sparse/dense and dtype)
| in this object.
|
| iat
| Fast integer location scalar accessor.
|
| Similarly to ``iloc``, ``iat`` provides **integer** based lookups.
| You can also set using these indexers.
|
| iloc
| Purely integer-location based indexing for selection by position.
|
| ``.iloc[]`` is primarily integer position based (from ``0`` to
| ``length-1`` of the axis), but may also be used with a boolean
| array.
|
| Allowed inputs are:
|
| - An integer, e.g. ``5``.
| - A list or array of integers, e.g. ``[4, 3, 0]``.
| - A slice object with ints, e.g. ``1:7``.
| - A boolean array.
| - A ``callable`` function with one argument (the calling Series, DataFrame
| or Panel) and that returns valid output for indexing (one of the above)
|
| ``.iloc`` will raise ``IndexError`` if a requested indexer is
| out-of-bounds, except *slice* indexers which allow out-of-bounds
| indexing (this conforms with python/numpy *slice* semantics).
|
| See more at :ref:`Selection by Position <indexing.integer>`
|
| ix
| A primarily label-location based indexer, with integer position
| fallback.
|
| ``.ix[]`` supports mixed integer and label based access. It is
| primarily label based, but will fall back to integer positional
| access unless the corresponding axis is of integer type.
|
| ``.ix`` is the most general indexer and will support any of the
| inputs in ``.loc`` and ``.iloc``. ``.ix`` also supports floating
| point label schemes. ``.ix`` is exceptionally useful when dealing
| with mixed positional and label based hierachical indexes.
|
| However, when an axis is integer based, ONLY label based access
| and not positional access is supported. Thus, in such cases, it's
| usually better to be explicit and use ``.iloc`` or ``.loc``.
|
| See more at :ref:`Advanced Indexing <advanced>`.
|
| loc
| Purely label-location based indexer for selection by label.
|
| ``.loc[]`` is primarily label based, but may also be used with a
| boolean array.
|
| Allowed inputs are:
|
| - A single label, e.g. ``5`` or ``'a'``, (note that ``5`` is
| interpreted as a *label* of the index, and **never** as an
| integer position along the index).
| - A list or array of labels, e.g. ``['a', 'b', 'c']``.
| - A slice object with labels, e.g. ``'a':'f'`` (note that contrary
| to usual python slices, **both** the start and the stop are included!).
| - A boolean array.
| - A ``callable`` function with one argument (the calling Series, DataFrame
| or Panel) and that returns valid output for indexing (one of the above)
|
| ``.loc`` will raise a ``KeyError`` when the items are not found.
|
| See more at :ref:`Selection by Label <indexing.label>`
|
| ndim
| Number of axes / array dimensions
|
| shape
| Return a tuple of axis dimensions
|
| size
| number of elements in the NDFrame
|
| values
| Numpy representation of NDFrame
|
| Notes
| -----
| The dtype will be a lower-common-denominator dtype (implicit
| upcasting); that is to say if the dtypes (even of numeric types)
| are mixed, the one that accommodates all will be chosen. Use this
| with care if you are not dealing with the blocks.
|
| e.g. If the dtypes are float16 and float32, dtype will be upcast to
| float32. If dtypes are int32 and uint8, dtype will be upcast to
| int32. By numpy.find_common_type convention, mixing int64 and uint64
| will result in a flot64 dtype.
|
| ----------------------------------------------------------------------
| Data and other attributes inherited from pandas.core.generic.NDFrame:
|
| is_copy = None
|
| ----------------------------------------------------------------------
| Methods inherited from pandas.core.base.PandasObject:
|
| __dir__(self)
| Provide method name lookup and completion
| Only provide 'public' methods
|
| __sizeof__(self)
| Generates the total memory usage for a object that returns
| either a value or Series of values
|
| ----------------------------------------------------------------------
| Methods inherited from pandas.core.base.StringMixin:
|
| __bytes__(self)
| Return a string representation for a particular object.
|
| Invoked by bytes(obj) in py3 only.
| Yields a bytestring in both py2/py3.
|
| __repr__(self)
| Return a string representation for a particular object.
|
| Yields Bytestring in Py2, Unicode String in py3.
|
| __str__(self)
| Return a string representation for a particular Object
|
| Invoked by str(df) in both py2/py3.
| Yields Bytestring in Py2, Unicode String in py3.
|
| ----------------------------------------------------------------------
| Data descriptors inherited from pandas.core.base.StringMixin:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
In [16]:
panel.describe
Out[16]:
<bound method NDFrame.describe of <class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 2602 (major_axis) x 299 (minor_axis)
Items axis: Open to Adj Close
Major_axis axis: 2007-02-02 00:00:00 to 2017-01-27 00:00:00
Minor_axis axis: A2M.AX to WTC.AX>
In [17]:
panel['Adj Close'].head()
Out[17]:
A2M.AX
AAC.AX
AAD.AX
ABC.AX
ABP.AX
ACX.AX
ADH.AX
AGI.AX
AGL.AX
AHG.AX
...
WES.AX
WFD.AX
WGX.AX
WHC.AX
WOR.AX
WOW.AX
WPL.AX
WPP.AX
WSA.AX
WTC.AX
Date
2007-02-02
NaN
1.87014
1.28796
1.26866
6.07736
NaN
NaN
0.64365
9.48962
1.010
...
18.95938
5.39139
NaN
NaN
14.304
13.62088
21.30007
1.08340
3.47162
NaN
2007-02-05
NaN
1.85250
1.29722
1.23613
6.01566
NaN
NaN
0.64793
9.45753
1.049
...
18.82664
5.41058
NaN
NaN
14.404
13.71637
21.59560
1.09355
3.37370
NaN
2007-02-06
NaN
1.96717
1.27406
1.25007
6.00023
NaN
NaN
0.60074
9.43081
1.010
...
18.84628
5.41537
NaN
NaN
14.738
13.91858
21.39101
1.09694
3.31139
NaN
2007-02-07
NaN
2.07304
1.29722
1.28260
6.01566
NaN
NaN
0.63506
9.31325
1.030
...
18.68402
5.54709
NaN
NaN
15.106
14.07587
20.99886
1.08340
3.36480
NaN
2007-02-08
NaN
2.02893
1.31112
1.28260
6.01566
NaN
NaN
0.59215
9.31325
1.010
...
18.65943
5.70077
NaN
NaN
15.106
14.28370
20.76017
1.06985
3.32920
NaN
5 rows × 299 columns
In [18]:
panel['Adj Close'].tail()
Out[18]:
A2M.AX
AAC.AX
AAD.AX
ABC.AX
ABP.AX
ACX.AX
ADH.AX
AGI.AX
AGL.AX
AHG.AX
...
WES.AX
WFD.AX
WGX.AX
WHC.AX
WOR.AX
WOW.AX
WPL.AX
WPP.AX
WSA.AX
WTC.AX
Date
2017-01-23
2.06
1.595
2.10
5.14
2.79
5.55
1.485
1.940
22.33
3.92
...
40.97
8.93
NaN
2.79
9.51
24.60
32.17
1.150
2.41
5.27
2017-01-24
2.04
1.590
2.08
5.16
2.85
5.57
1.485
1.895
22.41
3.93
...
41.20
9.03
NaN
2.93
9.75
24.80
31.96
1.170
2.42
5.25
2017-01-25
2.10
1.600
2.07
5.16
2.82
5.44
1.480
1.850
22.24
3.92
...
40.70
8.91
NaN
2.95
9.99
24.65
32.08
1.155
2.57
5.29
2017-01-26
2.10
1.600
2.07
5.16
2.82
5.44
1.480
1.850
22.24
3.92
...
40.70
8.91
NaN
2.95
9.99
24.65
32.08
1.155
2.57
5.29
2017-01-27
2.11
1.595
2.10
5.20
2.86
5.65
1.480
1.815
22.66
4.01
...
41.12
8.96
NaN
2.89
10.16
25.16
32.31
1.140
2.53
5.20
5 rows × 299 columns
In [19]:
panel['Volume'].head()
Out[19]:
A2M.AX
AAC.AX
AAD.AX
ABC.AX
ABP.AX
ACX.AX
ADH.AX
AGI.AX
AGL.AX
AHG.AX
...
WES.AX
WFD.AX
WGX.AX
WHC.AX
WOR.AX
WOW.AX
WPL.AX
WPP.AX
WSA.AX
WTC.AX
Date
2007-02-02
NaN
298600.0
1277300.0
662700.0
97200.0
NaN
NaN
510100.0
835900.0
5000.0
...
748600.0
13891400.0
NaN
NaN
406900.0
1777900.0
2042000.0
757300.0
3736300.0
NaN
2007-02-05
NaN
1367100.0
68700.0
684900.0
131800.0
NaN
NaN
599900.0
418000.0
52500.0
...
725700.0
10693200.0
NaN
NaN
437300.0
1298300.0
1628400.0
686700.0
828000.0
NaN
2007-02-06
NaN
965800.0
909300.0
565200.0
330300.0
NaN
NaN
140100.0
554700.0
20300.0
...
920600.0
17519400.0
NaN
NaN
628500.0
2363300.0
1437300.0
424100.0
650400.0
NaN
2007-02-07
NaN
1101800.0
481500.0
595900.0
258800.0
NaN
NaN
206800.0
634800.0
1000.0
...
730500.0
13225000.0
NaN
NaN
996500.0
5756700.0
2785100.0
239400.0
376100.0
NaN
2007-02-08
NaN
1278300.0
272700.0
791900.0
572300.0
NaN
NaN
182700.0
715900.0
33000.0
...
670300.0
16526500.0
NaN
NaN
0.0
2535600.0
2737200.0
835500.0
1289300.0
NaN
5 rows × 299 columns
In [28]:
# pct_change by default fills forward where values don't exist
panel['returns'] = panel['Adj Close'].pct_change()
panel['returns'].head()
Out[28]:
A2M.AX
AAC.AX
AAD.AX
ABC.AX
ABP.AX
ACX.AX
ADH.AX
AGI.AX
AGL.AX
AHG.AX
...
WES.AX
WFD.AX
WGX.AX
WHC.AX
WOR.AX
WOW.AX
WPL.AX
WPP.AX
WSA.AX
WTC.AX
Date
2007-02-02
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
...
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
2007-02-05
NaN
-0.009432
0.007190
-0.025641
-0.010152
NaN
NaN
0.006650
-0.003382
0.038614
...
-0.007001
0.003559
NaN
NaN
0.006991
0.007011
0.013875
0.009369
-0.028206
NaN
2007-02-06
NaN
0.061900
-0.017854
0.011277
-0.002565
NaN
NaN
-0.072832
-0.002825
-0.037178
...
0.001043
0.000885
NaN
NaN
0.023188
0.014742
-0.009474
0.003100
-0.018469
NaN
2007-02-07
NaN
0.053818
0.018178
0.026023
0.002572
NaN
NaN
0.057130
-0.012466
0.019802
...
-0.008610
0.024323
NaN
NaN
0.024969
0.011301
-0.018332
-0.012343
0.016129
NaN
2007-02-08
NaN
-0.021278
0.010715
0.000000
0.000000
NaN
NaN
-0.067568
0.000000
-0.019417
...
-0.001316
0.027705
NaN
NaN
0.000000
0.014765
-0.011367
-0.012507
-0.010580
NaN
5 rows × 299 columns
In [29]:
corr = panel['returns'].corr()
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
plt.figure(figsize=(50, 50))
with sns.axes_style("white"):
sns.heatmap(corr, mask=mask, vmin=-1, vmax=1)
sns.despine()
In [30]:
# cumulative log returns
return_index = ((panel['returns']).cumsum() * 100) + 100
# vami = (df_doy.cumsum() * 100) + 100
return_index
Out[30]:
A2M.AX
AAC.AX
AAD.AX
ABC.AX
ABP.AX
ACX.AX
ADH.AX
AGI.AX
AGL.AX
AHG.AX
...
WES.AX
WFD.AX
WGX.AX
WHC.AX
WOR.AX
WOW.AX
WPL.AX
WPP.AX
WSA.AX
WTC.AX
Date
2007-02-02
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
...
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
2007-02-05
NaN
99.056755
100.718966
97.435877
98.984757
NaN
NaN
100.664958
99.661841
103.861386
...
99.299872
100.355938
NaN
NaN
100.699105
100.701056
101.387460
100.936865
97.179415
NaN
2007-02-06
NaN
105.246769
98.933610
98.563590
98.728259
NaN
NaN
93.381763
99.379315
100.143560
...
99.404192
100.444468
NaN
NaN
103.017905
102.175280
100.440091
101.246865
95.332481
NaN
2007-02-07
NaN
110.628612
100.751421
101.165845
98.985416
NaN
NaN
99.094718
98.132762
102.123758
...
98.543226
102.876804
NaN
NaN
105.514852
103.305352
98.606845
100.012522
96.945399
NaN
2007-02-08
NaN
108.500819
101.822943
101.165845
98.985416
NaN
NaN
92.337876
98.132762
100.182010
...
98.411616
105.647266
NaN
NaN
105.514852
104.781851
97.470164
98.761830
95.887387
NaN
2007-02-09
NaN
104.153207
103.590134
101.890155
98.985416
NaN
NaN
95.237479
98.706676
102.162208
...
98.938642
106.082119
NaN
NaN
105.514852
106.040278
98.236728
99.394629
98.293670
NaN
2007-02-12
NaN
104.153207
104.978888
103.329132
98.985416
NaN
NaN
93.123647
99.105749
101.385509
...
98.440715
105.995665
NaN
NaN
105.514852
105.146992
98.127977
97.508169
96.988128
NaN
2007-02-13
NaN
103.244266
104.978888
103.329132
96.421275
NaN
NaN
95.283127
98.253885
102.168288
...
98.941134
105.995665
NaN
NaN
105.514852
105.303749
97.393550
97.828151
98.839946
NaN
2007-02-14
NaN
104.161544
102.581673
106.520329
95.368627
NaN
NaN
93.874999
98.024691
105.954696
...
99.727795
105.258855
NaN
NaN
126.307915
105.303749
99.311441
98.467961
98.320558
NaN
2007-02-15
NaN
105.524441
102.581673
107.551905
96.166598
NaN
NaN
98.161380
98.426514
105.954696
...
98.557172
105.913082
NaN
NaN
130.045515
104.873358
99.580351
100.055441
97.798459
NaN
2007-02-16
NaN
105.076081
103.282981
107.551905
93.791808
NaN
NaN
98.844551
98.197712
105.954696
...
97.083614
104.395659
NaN
NaN
128.999501
103.655234
98.776068
100.992307
103.572583
NaN
2007-02-19
NaN
108.680135
102.586557
108.231868
94.332357
NaN
NaN
93.401997
98.197712
104.083788
...
98.445633
103.955251
NaN
NaN
130.008524
104.411070
99.613837
100.064137
104.069051
NaN
2007-02-20
NaN
106.506083
102.586557
108.231868
96.482929
NaN
NaN
76.855487
98.541970
104.846419
...
98.313903
104.751634
NaN
NaN
128.792879
103.858338
99.238709
99.438329
104.069051
NaN
2007-02-21
NaN
105.172461
106.095369
107.893819
97.009252
NaN
NaN
78.581253
94.941701
104.846419
...
99.498082
104.795361
NaN
NaN
130.745795
103.104004
100.476076
100.068078
102.587559
NaN
2007-02-22
NaN
105.172461
103.722535
122.131285
98.056389
NaN
NaN
80.275767
94.882238
104.846419
...
98.742547
107.427373
NaN
NaN
130.924226
105.104123
101.459556
101.004943
100.081182
NaN
2007-02-23
NaN
106.073730
102.680782
124.208459
99.610817
NaN
NaN
80.275767
92.806240
104.089560
...
98.279983
106.145116
NaN
NaN
132.516766
107.848935
101.590925
100.695858
100.338205
NaN
2007-02-26
NaN
108.752373
103.031436
122.755313
96.549546
NaN
NaN
76.110071
92.746161
109.713965
...
99.372888
104.629282
NaN
NaN
130.737773
107.848935
104.268833
100.384898
103.927884
NaN
2007-02-27
NaN
112.230561
103.380865
123.345015
96.549546
NaN
NaN
76.110071
93.957999
114.587611
...
98.940654
102.475975
NaN
NaN
130.559277
109.910139
105.244510
94.777507
107.888410
NaN
2007-02-28
NaN
111.810461
102.335477
120.119087
96.286470
NaN
NaN
71.761276
89.946433
111.575563
...
97.881859
100.184658
NaN
NaN
127.929636
111.630504
102.528948
93.127152
99.554965
NaN
2007-03-01
NaN
108.856877
102.688128
120.422307
96.286470
NaN
NaN
73.579034
87.762957
111.220638
...
96.921599
98.897867
NaN
NaN
124.645634
110.159815
101.884819
93.798173
99.554965
NaN
2007-03-02
NaN
112.769777
104.442155
120.724610
96.286470
NaN
NaN
73.579034
87.316084
111.220638
...
95.813611
98.012788
NaN
NaN
124.645634
111.018039
101.020551
93.798173
98.775883
NaN
2007-03-05
NaN
110.678064
102.373010
119.820433
96.286470
NaN
NaN
66.435731
84.317324
109.884930
...
92.872418
95.145954
NaN
NaN
118.949220
109.982101
96.851455
93.131625
96.419990
NaN
2007-03-06
NaN
113.241744
103.077551
121.036348
97.869435
NaN
NaN
66.435731
86.384151
116.022114
...
96.047004
98.194020
NaN
NaN
124.190248
113.496354
97.932114
92.124597
96.688038
NaN
2007-03-07
NaN
115.325215
104.825449
125.590204
96.570797
NaN
NaN
75.089879
89.062442
114.321434
...
97.193981
98.523034
NaN
NaN
126.396089
113.929707
98.550762
93.819716
100.431280
NaN
2007-03-08
NaN
115.733312
104.482023
126.504941
96.044474
NaN
NaN
75.089879
87.726679
112.591330
...
96.253842
97.727078
NaN
NaN
124.347969
112.203644
99.081886
96.153128
101.462312
NaN
2007-03-09
NaN
116.139751
104.826633
126.202997
97.631800
NaN
NaN
72.435614
87.339507
113.647668
...
97.035264
99.755389
NaN
NaN
126.135390
112.276800
98.609388
97.130634
100.951914
NaN
2007-03-12
NaN
114.520119
104.483207
128.324239
99.715165
NaN
NaN
70.615737
86.562993
116.086693
...
97.921937
100.171527
NaN
NaN
127.665016
114.945700
98.720985
100.033811
102.234024
NaN
2007-03-13
NaN
115.343500
104.483207
127.433933
99.204953
NaN
NaN
72.469347
85.323377
114.386012
...
98.004106
99.940822
NaN
NaN
128.731044
114.304950
99.279349
97.526427
99.449144
NaN
2007-03-14
NaN
114.160851
104.483207
126.236397
99.204953
NaN
NaN
68.833831
83.011528
114.386012
...
96.961798
96.849271
NaN
NaN
125.093115
112.871225
97.697196
94.310638
95.803376
NaN
2007-03-15
NaN
114.160851
104.483207
128.660498
96.640812
NaN
NaN
70.717969
84.566796
116.116116
...
98.486626
98.754348
NaN
NaN
126.679176
114.544043
100.066062
96.636288
97.425011
NaN
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
2016-12-19
255.368761
152.974635
232.122172
289.889038
104.824888
219.315226
79.802766
484.605437
206.111816
310.656442
...
214.975401
191.510032
NaN
292.865203
170.335966
176.580045
185.396046
187.312485
222.443063
141.037669
2016-12-20
254.858556
155.162135
235.261220
290.469309
106.865768
219.936344
79.802766
484.107924
207.941943
311.439732
...
216.099266
192.507815
NaN
292.489263
168.784776
178.344244
184.881576
186.377906
222.782046
141.214660
2016-12-21
261.012403
154.550514
236.565707
291.238540
106.532654
220.759389
79.802766
489.107924
208.310607
312.476002
...
215.579048
193.715279
NaN
295.508131
170.675533
178.217394
185.204782
185.906208
225.484748
141.037982
2016-12-22
258.113852
155.473591
236.136333
292.574418
106.532654
220.759389
80.711857
487.679353
209.091139
311.963181
...
216.387225
193.823739
NaN
292.944029
171.294089
179.741526
186.364576
191.593411
225.155801
141.037982
2016-12-23
256.372558
153.949201
236.998349
292.009446
106.198081
221.371634
77.108254
489.128628
210.138975
311.447717
...
215.609107
193.607055
NaN
291.440269
171.294089
179.199408
187.256296
192.041842
222.845570
142.453911
2016-12-26
256.372558
153.949201
236.998349
292.009446
106.198081
221.371634
77.108254
489.128628
210.138975
311.447717
...
215.609107
193.607055
NaN
291.440269
171.294089
179.199408
187.256296
192.041842
222.845570
142.453911
2016-12-27
256.372558
153.949201
236.998349
292.009446
106.198081
221.371634
77.108254
489.128628
210.138975
311.447717
...
215.609107
193.607055
NaN
291.440269
171.294089
179.199408
187.256296
192.041842
222.845570
142.453911
2016-12-28
257.638381
155.497188
238.280539
293.145810
106.869127
224.414231
75.862148
490.081009
208.876577
313.261189
...
216.678498
194.149943
NaN
293.348666
171.703925
181.128129
187.224730
196.952556
226.223948
142.628431
2016-12-29
259.138381
155.802066
238.706071
294.082139
106.869127
225.004782
74.915775
490.552707
209.698494
313.770094
...
217.313344
194.365925
NaN
292.225071
172.214130
181.868565
187.445760
199.080216
228.838327
141.234703
2016-12-30
259.630992
158.841580
237.858613
294.824254
107.536043
224.222003
76.826603
489.613740
209.743784
313.770094
...
215.771288
195.443512
NaN
291.088707
170.894333
180.276078
185.618412
199.913549
226.609028
141.058024
2017-01-02
259.630992
158.841580
237.858613
294.824254
107.536043
224.222003
76.826603
489.613740
209.743784
313.770094
...
215.771288
195.443512
NaN
291.088707
170.894333
180.276078
185.618412
199.913549
226.609028
141.058024
2017-01-03
258.650600
159.726536
237.858613
295.376741
108.860357
233.097743
75.576603
491.509475
211.645097
315.035917
...
217.123922
195.336902
NaN
297.218975
173.877872
181.396410
186.870017
201.979665
228.237693
142.827936
2017-01-04
257.660501
159.726536
233.585109
294.277839
106.899513
231.286148
75.576603
489.649010
210.801028
313.785917
...
216.491752
195.336902
NaN
296.135943
172.878871
181.314342
186.077624
204.408815
231.122308
141.958371
2017-01-05
257.410501
157.972150
233.585109
294.277839
107.566429
233.315669
73.677869
488.701143
211.025042
313.532753
...
216.444626
195.870520
NaN
297.960760
175.300667
181.026868
186.556857
203.223044
232.679940
143.186441
2017-01-06
255.656115
158.865007
233.138680
293.907469
108.559494
235.847314
74.000450
487.744205
210.309798
313.025139
...
216.185315
196.401305
NaN
297.243914
175.793278
180.656192
186.588654
204.023044
229.612456
144.052992
2017-01-09
258.207135
159.159992
236.726124
293.721596
108.559494
235.670947
73.678907
486.294929
211.075219
312.514934
...
215.783518
196.718095
NaN
295.438860
176.871709
181.482980
187.923682
202.832568
229.296000
143.881171
2017-01-10
257.709623
157.689404
236.293224
292.418057
108.231840
235.670947
73.678907
484.089047
210.092199
312.258524
...
216.115744
197.033885
NaN
296.541801
174.931845
180.744973
187.798212
202.430961
229.613460
143.192703
2017-01-11
266.709623
158.584926
234.988876
292.984095
107.902770
233.197449
72.388584
483.086541
210.001946
312.515594
...
215.855574
196.194430
NaN
299.087256
175.030757
181.529773
187.358513
202.027735
236.891941
142.846082
2017-01-12
263.957329
156.809778
234.988876
293.359330
106.582824
232.472812
72.061787
482.073883
209.279272
312.515594
...
214.741038
194.607129
NaN
300.860306
176.117713
180.996986
188.336431
201.218019
233.647104
142.498256
2017-01-13
263.957329
153.496525
234.107819
292.798582
105.244878
236.122447
72.061787
482.585391
209.506752
312.515594
...
214.669095
194.069494
NaN
305.389922
174.651438
181.450220
188.086509
201.218019
214.439786
142.498256
2017-01-16
266.787518
155.054158
233.218930
293.362492
106.261858
238.235123
70.422442
483.348750
210.187641
313.284824
...
215.029066
194.393819
NaN
303.056589
175.147469
181.819375
187.929917
200.401692
217.836013
141.451136
2017-01-17
268.622380
153.213667
232.322069
291.306417
105.138263
236.510985
72.089109
481.833599
210.142556
313.030371
...
214.311706
192.885198
NaN
301.008807
173.666719
181.615043
188.306328
200.813215
218.200976
140.216568
2017-01-18
266.370128
151.651167
230.964603
291.878936
104.089311
236.686423
71.105502
481.577188
210.458298
312.775269
...
214.504385
192.447561
NaN
301.008807
173.566519
181.123643
189.493828
196.305018
216.019158
139.323711
2017-01-19
265.448469
151.016246
230.505887
290.930169
103.382598
236.511292
70.443251
480.805980
211.852183
313.031024
...
214.264000
191.238770
NaN
302.750968
171.761103
181.535166
188.567331
195.446649
214.903917
140.044431
2017-01-20
263.588004
152.294202
229.123399
289.972315
103.026726
235.283222
70.443251
479.769711
212.827792
313.286126
...
214.480867
190.348892
NaN
300.353707
170.024637
181.453198
188.162094
198.476952
212.648277
138.792195
2017-01-23
261.218336
152.925116
227.254240
289.392044
102.669583
233.862263
69.443251
481.340391
210.895425
313.031673
...
212.990124
190.573359
NaN
298.248444
168.881186
182.355577
188.850670
195.115608
205.340585
134.263210
2017-01-24
260.247462
152.611637
226.301859
289.781149
104.820121
234.222623
69.443251
479.020804
211.253688
313.286775
...
213.551511
191.693180
NaN
303.266365
171.404845
183.168586
188.197888
196.854738
205.755523
133.883703
2017-01-25
263.188638
153.240568
225.821089
289.781149
103.767489
231.888691
69.106550
476.646134
210.495098
313.032322
...
212.337919
190.364276
NaN
303.948959
173.866383
182.563747
188.573357
195.572687
211.953870
134.645608
2017-01-26
263.188638
153.240568
225.821089
289.781149
103.767489
231.888691
69.106550
476.646134
210.495098
313.032322
...
212.337919
190.364276
NaN
303.948959
173.866383
182.563747
188.573357
195.572687
211.953870
134.645608
2017-01-27
263.664829
152.928068
227.270365
290.556343
105.185929
235.748985
69.106550
474.754242
212.383587
315.328240
...
213.369860
190.925444
NaN
301.915061
175.568085
184.632712
189.290314
194.273985
210.397450
132.944285
2602 rows × 299 columns
In [31]:
# lets review the returns profile of each stock, grouping by sector
for sector in sectors:
tickers = index[index['sector'] == sector]['yahoo_ticker']
ax = return_index[tickers].plot(
figsize=(12,4)
,linewidth=0.3
,legend=False
,title=sector)
ax
In [34]:
return_index = return_index.ix[:, return_index.lt(0).any()]
# lets review the returns profile of each stock, grouping by sector
for sector in sectors:
tickers = index[index['sector'] == sector]['yahoo_ticker']
ax = return_index[tickers].plot(
figsize=(12,4)
,linewidth=0.3
,legend=False
,title=sector)
ax
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-34-0189a484136d> in <module>()
5 tickers = index[index['sector'] == sector]['yahoo_ticker']
6
----> 7 ax = return_index[tickers].plot(
8 figsize=(12,4)
9 ,linewidth=0.3
/home/adrian/miniconda3/envs/sandpit/lib/python3.5/site-packages/pandas/core/frame.py in __getitem__(self, key)
2049 if isinstance(key, (Series, np.ndarray, Index, list)):
2050 # either boolean or fancy integer index
-> 2051 return self._getitem_array(key)
2052 elif isinstance(key, DataFrame):
2053 return self._getitem_frame(key)
/home/adrian/miniconda3/envs/sandpit/lib/python3.5/site-packages/pandas/core/frame.py in _getitem_array(self, key)
2093 return self.take(indexer, axis=0, convert=False)
2094 else:
-> 2095 indexer = self.ix._convert_to_indexer(key, axis=1)
2096 return self.take(indexer, axis=1, convert=True)
2097
/home/adrian/miniconda3/envs/sandpit/lib/python3.5/site-packages/pandas/core/indexing.py in _convert_to_indexer(self, obj, axis, is_setter)
1227 mask = check == -1
1228 if mask.any():
-> 1229 raise KeyError('%s not in index' % objarr[mask])
1230
1231 return _values_from_object(indexer)
KeyError: "['A2M.AX' 'AAC.AX' 'AHY.AX' 'BAL.AX' 'BGA.AX' 'BKL.AX' 'BWX.AX' 'CCL.AX'\n 'CGC.AX' 'FNP.AX' 'FSF.AX' 'GNC.AX' 'MGC.AX' 'MTS.AX' 'RIC.AX' 'TGR.AX'\n 'TWE.AX' 'WBA.AX' 'WES.AX' 'WOW.AX'] not in index"
Content source: adriantorrie/adriantorrie.github.io
Similar notebooks:
notebook.community | gallery | about