|
1 | 1 | { |
2 | 2 | "metadata": { |
3 | 3 | "name": "", |
4 | | - "signature": "sha256:8294645ddf3a6997a4764ca0bb61458953a6e579d858ecbf59e69882af05d0df" |
| 4 | + "signature": "sha256:08918c81301f699d85bfad155946f6e0102ce07bb31796cb9bdda23ffb2e22a6" |
5 | 5 | }, |
6 | 6 | "nbformat": 3, |
7 | 7 | "nbformat_minor": 0, |
|
1486 | 1486 | "cell_type": "code", |
1487 | 1487 | "collapsed": false, |
1488 | 1488 | "input": [ |
| 1489 | + "# 1st column, e.g., A[:,0:1]\n", |
| 1490 | + "\n", |
1489 | 1491 | "def colvec_method2(A):\n", |
1490 | 1492 | " for idx in range(A.shape[1]):\n", |
1491 | 1493 | " colvec = A[:,idx:idx+1]\n", |
|
1500 | 1502 | "cell_type": "code", |
1501 | 1503 | "collapsed": false, |
1502 | 1504 | "input": [ |
| 1505 | + "# 1st column, e.g., A[:,0].reshape(-1,1)\n", |
| 1506 | + "\n", |
1503 | 1507 | "def colvec_method3(A):\n", |
1504 | 1508 | " for idx in range(A.shape[1]):\n", |
1505 | | - " colvec = A[:,idx].reshape(A.shape[0],1)\n", |
| 1509 | + " colvec = A[:,idx].reshape(-1,1)\n", |
1506 | 1510 | " yield colvec" |
1507 | 1511 | ], |
1508 | 1512 | "language": "python", |
|
1514 | 1518 | "cell_type": "code", |
1515 | 1519 | "collapsed": false, |
1516 | 1520 | "input": [ |
| 1521 | + "# 1st column, e.g., np.vstack(A[:,0]\n", |
| 1522 | + "\n", |
1517 | 1523 | "def colvec_method4(A):\n", |
1518 | 1524 | " for idx in range(A.shape[1]):\n", |
1519 | 1525 | " colvec = np.vstack(A[:,idx])\n", |
|
1528 | 1534 | "cell_type": "code", |
1529 | 1535 | "collapsed": false, |
1530 | 1536 | "input": [ |
| 1537 | + "# 1st column, e.g., np.row_stack(A[:,0])\n", |
| 1538 | + "\n", |
1531 | 1539 | "def colvec_method5(A):\n", |
1532 | 1540 | " for idx in range(A.shape[1]):\n", |
1533 | 1541 | " colvec = np.row_stack(A[:,idx])\n", |
|
1542 | 1550 | "cell_type": "code", |
1543 | 1551 | "collapsed": false, |
1544 | 1552 | "input": [ |
| 1553 | + "# 1st column, e.g., np.column_stack((A[:,0],))\n", |
| 1554 | + "\n", |
1545 | 1555 | "def colvec_method6(A):\n", |
1546 | 1556 | " for idx in range(A.shape[1]):\n", |
1547 | 1557 | " colvec = np.column_stack((A[:,idx],))\n", |
|
1552 | 1562 | "outputs": [], |
1553 | 1563 | "prompt_number": 74 |
1554 | 1564 | }, |
| 1565 | + { |
| 1566 | + "cell_type": "code", |
| 1567 | + "collapsed": false, |
| 1568 | + "input": [ |
| 1569 | + "# 1st column, e.g., A[:,[0]]\n", |
| 1570 | + "\n", |
| 1571 | + "def colvec_method7(A):\n", |
| 1572 | + " for idx in range(A.shape[1]):\n", |
| 1573 | + " colvec = A[:,[idx]]\n", |
| 1574 | + " yield colvec" |
| 1575 | + ], |
| 1576 | + "language": "python", |
| 1577 | + "metadata": {}, |
| 1578 | + "outputs": [], |
| 1579 | + "prompt_number": 89 |
| 1580 | + }, |
1555 | 1581 | { |
1556 | 1582 | "cell_type": "code", |
1557 | 1583 | "collapsed": false, |
|
1576 | 1602 | "for method in [\n", |
1577 | 1603 | " colvec_method1, colvec_method2, \n", |
1578 | 1604 | " colvec_method3, colvec_method4, \n", |
1579 | | - " colvec_method5, colvec_method6]:\n", |
| 1605 | + " colvec_method5, colvec_method6,\n", |
| 1606 | + " colvec_method7]:\n", |
1580 | 1607 | " print('\\nTest:', method.__name__)\n", |
1581 | 1608 | " %timeit test_method(colvec_method2, A)" |
1582 | 1609 | ], |
|
1589 | 1616 | "text": [ |
1590 | 1617 | "\n", |
1591 | 1618 | "Test: colvec_method1\n", |
1592 | | - "100000 loops, best of 3: 17.7 \u00b5s per loop" |
| 1619 | + "100000 loops, best of 3: 16.6 \u00b5s per loop" |
1593 | 1620 | ] |
1594 | 1621 | }, |
1595 | 1622 | { |
|
1599 | 1626 | "\n", |
1600 | 1627 | "\n", |
1601 | 1628 | "Test: colvec_method2\n", |
1602 | | - "10000 loops, best of 3: 16.4 \u00b5s per loop" |
| 1629 | + "10000 loops, best of 3: 16.1 \u00b5s per loop" |
1603 | 1630 | ] |
1604 | 1631 | }, |
1605 | 1632 | { |
|
1609 | 1636 | "\n", |
1610 | 1637 | "\n", |
1611 | 1638 | "Test: colvec_method3\n", |
1612 | | - "100000 loops, best of 3: 17.3 \u00b5s per loop" |
| 1639 | + "100000 loops, best of 3: 16.2 \u00b5s per loop" |
1613 | 1640 | ] |
1614 | 1641 | }, |
1615 | 1642 | { |
|
1619 | 1646 | "\n", |
1620 | 1647 | "\n", |
1621 | 1648 | "Test: colvec_method4\n", |
1622 | | - "10000 loops, best of 3: 16.4 \u00b5s per loop" |
| 1649 | + "100000 loops, best of 3: 16.4 \u00b5s per loop" |
1623 | 1650 | ] |
1624 | 1651 | }, |
1625 | 1652 | { |
|
1629 | 1656 | "\n", |
1630 | 1657 | "\n", |
1631 | 1658 | "Test: colvec_method5\n", |
1632 | | - "100000 loops, best of 3: 17.1 \u00b5s per loop" |
| 1659 | + "100000 loops, best of 3: 16.2 \u00b5s per loop" |
1633 | 1660 | ] |
1634 | 1661 | }, |
1635 | 1662 | { |
|
1639 | 1666 | "\n", |
1640 | 1667 | "\n", |
1641 | 1668 | "Test: colvec_method6\n", |
1642 | | - "100000 loops, best of 3: 16.6 \u00b5s per loop" |
| 1669 | + "100000 loops, best of 3: 16.8 \u00b5s per loop" |
| 1670 | + ] |
| 1671 | + }, |
| 1672 | + { |
| 1673 | + "output_type": "stream", |
| 1674 | + "stream": "stdout", |
| 1675 | + "text": [ |
| 1676 | + "\n", |
| 1677 | + "\n", |
| 1678 | + "Test: colvec_method7\n", |
| 1679 | + "100000 loops, best of 3: 16.3 \u00b5s per loop" |
1643 | 1680 | ] |
1644 | 1681 | }, |
1645 | 1682 | { |
|
1650 | 1687 | ] |
1651 | 1688 | } |
1652 | 1689 | ], |
1653 | | - "prompt_number": 86 |
| 1690 | + "prompt_number": 91 |
1654 | 1691 | }, |
1655 | 1692 | { |
1656 | 1693 | "cell_type": "code", |
|
0 commit comments