精华内容
下载资源
问答
  • 废话不多说,直接上代码 //1.定义全局变量 var iStart = 0, searchParams={}; //2...."ajax": { "url": "/user/query", "type": "POST", //动态请求参数设置,会... if(key.indexOf("columns")==0||key.indexOf("order
  • 今天小编就为大家分享一篇python 给DataFrame增加index行名和columns列名的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • common-columns.txt

    2020-12-28 09:44:15
    常用列名字典
  • 最近需要对表头进行冻结,找到了bootstrap-table-fixed-columns组件(也是bootstrap-table作者写的)能实现冻结效果,但带来了其他问题,包括:排序失效、列宽错位、合并行无效等,于是引入该组件的同时,顺便解决了...
  • EmptyDataError: No columns to parse from file报错 原因和解决办法: 是因为你之前下载这个数据集的时候,中断了,已经产生了一个iris.csv的空文件在home家目录下面,你只需要去home家目录下面删除这个空文件既...
  • npm install --save react-table-hoc-draggable-columns 用法 import ReactTable from 'react-table' ; import "react-table/react-table.css" ; import withDraggableColumns from 'react-table-hoc-draggable-...
  • 如有使用疑问,联系本人
  • 第一个报错:sqlite3.OperationalError: table csv has 5 columns but 4 values were supplied 原因:没有使用与作者一致的csv数据内容 我的csv文件内容为4.1中的数据内容,进行了重复而已 原创文章 36获赞 28访问...
  • 在原bootstrap-table-fixed-columns的基础上,解决了冻结列后,排序失效、列宽错位和合并行失效问题
  • Columns是一款适用于Windows的便携式益智游戏。 源代码存储库:https://github.com/jval1972/Columns
  • 如有使用疑问,联系博主 bootstrap-table-fixed-columns.css固定列 冻结列
  • NULL 博文链接:https://xdw1626.iteye.com/blog/337477
  • COLUMN分区是5.5开始引入的分区功能,只有RANGE COLUMN和LIST COLUMN这两种分区;支持整形、日期、字符串;RANGE和LIST的分区方式非常的...下面就两者的区别给大家介绍下,对mysql columns知识感兴趣的朋友一起看看吧
  • Columns for eclipse-开源

    2021-05-30 00:28:54
    Eclipse Columns Plug-in 定义了“列”的概念以及这个可编辑组件的一些功能。 提供复制、粘贴、剪切、填充、小写、大写、搜索和替换、列历史记录等功能。
  • bootstrap-table-reorder-columns表格拖拽排序列的一个插件 验证有效, 需放在服务器【tomcat】、【apache】、【nginx】或 【HBuilder】中调试运行即可看到真实效果
  • mysql 提示SQL-ERROR summary different number of columns
  • add_columns.txt

    2020-05-27 23:20:11
    mysql_add_columns mysql在一个表中添加记录动态在另一表中添加列。
  • 主要介绍了pandas中DataFrame修改index、columns名的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Laravel开发-laravel-columns-search 拉雷维尔
  • Bootstrap Table Fixed Columns

    千次阅读 2018-12-11 14:56:31
    解决在使用原插件时出现的样式问题,...bootstrap-table-fixed-columns.css .fixed-table-header-columns, .fixed-table-body-columns, .fixed-table-footer-columns { position: absolute; background-color: #...

    解决在使用原插件时出现的样式问题,增加支持tfoot的展示

    bootstrap-table-fixed-columns.css

    .fixed-table-header-columns,
    .fixed-table-body-columns,
    .fixed-table-footer-columns {
        position: absolute;
        background-color: #F4F6FE;/* #E7EBEE */
        display: none;
        box-sizing: border-box;
        overflow: hidden;
    }
    
    .fixed-table-header-columns .table,
    .fixed-table-body-columns .table,
    .fixed-table-footer-columns .table {
        border-right: 1px solid #ddd;
    }
    
    .fixed-table-header-columns .table.table-no-bordered,
    .fixed-table-body-columns .table.table-no-bordered,
    .fixed-table-footer-columns .table.table-no-bordered {
        border-right: 1px solid transparent;
    }
    
    .fixed-table-body-columns table {
        position: absolute;
        animation: none;
    }
    
    .bootstrap-table .table-hover > tbody > tr.hover > td{
        background-color: #f5f5f5;
    }

    bootstrap-table-fixed-columns.js

    (function ($) {
        'use strict';
    
        $.extend($.fn.bootstrapTable.defaults, {
            fixedColumns: false,
            fixedNumber: 1
        });
    
        var BootstrapTable = $.fn.bootstrapTable.Constructor,
            _initHeader = BootstrapTable.prototype.initHeader,
            _initBody = BootstrapTable.prototype.initBody,
            _initFooter = BootstrapTable.prototype.initFooter,
            _resetView = BootstrapTable.prototype.resetView;
    
        BootstrapTable.prototype.initFixedColumns = function () {
            this.$fixedHeader = $([
                '<div class="fixed-table-header-columns">',
                '<table>',
                '<thead></thead>',
                '</table>',
                '</div>'].join(''));
    
            this.timeoutHeaderColumns_ = 0;
            this.$fixedHeader.find('table').attr('class', this.$el.attr('class'));
            this.$fixedHeaderColumns = this.$fixedHeader.find('thead');
            this.$tableHeader.before(this.$fixedHeader);
    
            this.$fixedBody = $([
                '<div class="fixed-table-body-columns">',
                '<table>',
                '<tbody></tbody>',
                '</table>',
                '</div>'].join(''));
    
            this.timeoutBodyColumns_ = 0;
            this.$fixedBody.find('table').attr('class', this.$el.attr('class'));
            this.$fixedBodyColumns = this.$fixedBody.find('tbody');
            this.$tableBody.before(this.$fixedBody);
            
            this.$fixedFooter = $([
                '<div class="fixed-table-footer-columns">',
                '<table>',
                '<tfoot></tfoot>',
                '</table>',
                '</div>'].join(''));
            
            this.timeoutFooterColumns_ = 0;
            this.$fixedFooter.find('table').attr('class', this.$el.attr('class'));
            this.$fixedFooterColumns = this.$fixedFooter.find('tfoot');
            this.$tableFooter.before(this.$fixedFooter);
        };
    
        BootstrapTable.prototype.initHeader = function () {
            _initHeader.apply(this, Array.prototype.slice.apply(arguments));
    
            if (!this.options.fixedColumns) {
                return;
            }              	
    
            this.initFixedColumns();
    
            var that = this, $trs = this.$header.find('tr').clone();
            
            /****************固定列复选框事件****************/
            var $ths = $trs.find('th');      
            var headTh = $ths.eq(0);
            var input=headTh.find('input'); 
        	var inp=that.$header.find("th[data-field=" + 0 + "] input");
        	
        	input.click(function () {
        		inp.click();
            });
            /*********************************************************/
        	
            $trs.each(function () {
                $(this).find('th:gt(' + (that.options.fixedNumber - 1) + ')').remove();
            });
            this.$fixedHeaderColumns.html('').append($trs); 
        };
    
        BootstrapTable.prototype.initBody = function () {
            _initBody.apply(this, Array.prototype.slice.apply(arguments));
    
            if (!this.options.fixedColumns) {
                return;
            }
    
            var that = this,
                rowspan = 0;
    
            this.$fixedBodyColumns.html('');
            this.$body.find('> tr[data-index]').each(function () {
                var $tr = $(this).clone(),
                    $tds = $tr.find('td');
    
                $tr.html('');
                /*******固定列操作事件转移及复选框事件*******/
                for (var i = 0; i < that.options.fixedNumber; i++) {
                    var indexTd = i;
                    var oldTd = $tds.eq(indexTd);
                    var fixTd = oldTd.clone();
                    var buttons = fixTd.find('a');
                    
                    //事件转移:冻结列里面的事件转移到实际按钮的事件
                    buttons.each(function (key, item) {
                        $(item).click(function () {
                            that.$body.find("tr[data-index=" + $tr.attr('data-index') + "] td:eq(" + indexTd + ") a:eq(" + key + ")").click();
                        });
                    });
                    if(i==0){
                    	var inputs=fixTd.find('input');
                    	var index=inputs.data("index");
                    	var inp=that.$body.find("tr[data-index=" + index + "] td:eq(" + 0 + ") input[data-index=" + index + "]");
                    	
                    	inputs.click(function () {
                    		inp.click();
                        });               	
                    }
                    $tr.append(fixTd);
                }
                that.$fixedBodyColumns.append($tr);
                /********************************************************/
    //            var end = that.options.fixedNumber;
    //            if (rowspan > 0) {
    //                --end;
    //                --rowspan;
    //            }
    //            for (var i = 0; i < end; i++) {
    //                $tr.append($tds.eq(i).clone());
    //            }
    //            that.$fixedBodyColumns.append($tr);
    //            
    //            if ($tds.eq(0).attr('rowspan')){
    //            	rowspan = $tds.eq(0).attr('rowspan') - 1;
    //            }
            });
        };
        
        BootstrapTable.prototype.initFooter = function () {
        	_initFooter.apply(this, Array.prototype.slice.apply(arguments));
    
            if (!this.options.fixedColumns) {
                return;
            }
            
            var that = this, $trs = this.$tableBody.find('table tfoot tr').clone();
    
            $trs.each(function () {
                $(this).find('th:gt(' + (that.options.fixedNumber - 1) + ')').remove();
            });
            this.$fixedFooterColumns.html('').append($trs); 
    
        };
    
        BootstrapTable.prototype.resetView = function () {
            _resetView.apply(this, Array.prototype.slice.apply(arguments));
    
            if (!this.options.fixedColumns) {
                return;
            }
    
            clearTimeout(this.timeoutHeaderColumns_);
            this.timeoutHeaderColumns_ = setTimeout($.proxy(this.fitHeaderColumns, this), this.$el.is(':hidden') ? 100 : 0);
    
            clearTimeout(this.timeoutBodyColumns_);
            this.timeoutBodyColumns_ = setTimeout($.proxy(this.fitBodyColumns, this), this.$el.is(':hidden') ? 100 : 0);
            
            clearTimeout(this.timeoutFooterColumns_);
            this.timeoutFooterColumns_ = setTimeout($.proxy(this.fitFooterColumns, this), this.$el.is(':hidden') ? 100 : 0);
        };
    
        BootstrapTable.prototype.fitHeaderColumns = function () {
            var that = this,
                visibleFields = this.getVisibleFields(),
                headerWidth = 0;
    
            this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) {
                var $this = $(this),
                    index = i;
    
                if (i >= that.options.fixedNumber) {
                    return false;
                }
    
                if (that.options.detailView && !that.options.cardView) {
                    index = i - 1;
                }
    
                that.$fixedHeader.find('th[data-field="' + visibleFields[index] + '"]')
                    .find('.fht-cell').width($this.innerWidth());
                headerWidth += $this.outerWidth();
            });
            this.$fixedHeader.find('th').height(this.$header.find('tr').find('th:first-child').innerHeight());
            this.$fixedHeader.width(headerWidth + 1).show();
        };
    
        BootstrapTable.prototype.fitBodyColumns = function () {
            var that = this,
                top = -(parseInt(this.$el.css('margin-top')) - 2),
                height = this.$tableBody.find('table tbody').height();
            if (!this.$body.find('> tr[data-index]').length) {
                this.$fixedBody.hide();
                return;
            }
    
            if (!this.options.height) {
                top = this.$fixedHeader.height();
            }
    
            this.$fixedBody.css({
                width: this.$fixedHeader.width()-1,
                height: height,
                top: top
            }).show();
    
            this.$body.find('> tr').each(function (i) {
                that.$fixedBody.find('tr:eq(' + i + ')').height($(this).height());
            });
    
            // events
            this.$tableBody.on('scroll', function () {
                that.$fixedBody.find('table').css('top', -$(this).scrollTop());
            });
            this.$body.find('> tr[data-index]').off('hover').hover(function () {
                var index = $(this).data('index');
                that.$fixedBody.find('tr[data-index="' + index + '"]').addClass('hover');
            }, function () {
                var index = $(this).data('index');
                that.$fixedBody.find('tr[data-index="' + index + '"]').removeClass('hover');
            });
            this.$fixedBody.find('tr[data-index]').off('hover').hover(function () {
                var index = $(this).data('index');
                that.$body.find('tr[data-index="' + index + '"]').addClass('hover');
            }, function () {
                var index = $(this).data('index');
                that.$body.find('> tr[data-index="' + index + '"]').removeClass('hover');
            });
        };
        
        BootstrapTable.prototype.fitFooterColumns = function () {
            var that = this,
            	top = -(parseInt(this.$el.css('margin-top')) - 2),
            	visibleFields = this.getVisibleFields(),
            	height = this.$tableBody.find('table tfoot').height(),
                footerWidth = 0;
    
            this.$body.find('tr:first-child:not(.no-records-found) > *').each(function (i) {
                var $this = $(this),
                    index = i;
    
                if (i >= that.options.fixedNumber) {
                    return false;
                }
    
                if (that.options.detailView && !that.options.cardView) {
                    index = i - 1;
                }
    
                that.$fixedHeader.find('th[data-field="' + visibleFields[index] + '"]')
                    .find('.fht-cell').width($this.innerWidth());
                footerWidth += $this.outerWidth();
            });
            
            if (!this.options.height) {
                top = this.$fixedHeader.height() + this.$tableBody.find('table tbody').height();
            }
            
            this.$fixedFooter.css({
                width: footerWidth,
                height : height,
                top: top - 1
            }).show();
        };
    
    })(jQuery);
    

    对于冻结列的复选框和操作事件这边没有做优化,仍旧有bug,后面有机会改好了继续上传

    展开全文
  • fixed-columns

    2021-06-02 14:28:05
    fixed-columns表格固定列。
  • 对应不同的columns,切换按钮时,更改columns,将columns动态传入。 问题:当切换按钮时,界面仍然显示初始化时传入的columns,而不更新新的columns <p><img alt="" height=...
  • Pandas的DataFrame列columns操作(13)

    千次阅读 2019-11-18 10:11:32
    df2 = df1.rename(columns = {"ax" : "close", "bx" : "open"}) print df2 print "*" * 21, " 程序执行结果: ax bx cx dx ex a 10 11 12 13 14 b 15 16 17 18 19 c 20 21 22 23 24 d 25 26 27 28 29 e 30...

    本章主要研究一下DataFrame数据结构如何修改、增删等操作。

    13.1 rename修改列名字

    对一个dataframe的数据使用rename函数后返回新的dataframe,不影响原dataframe。

    import pandas as pd
    import numpy as np
    val = np.arange(10, 60).reshape(10, 5)
    col = ["ax", "bx", "cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val, columns = col, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    df2 = df1.rename(columns = {"ax" : "close", "bx" : "open"})
    print df2
    print "*" * 21, "<- dataframe"
    

    程序执行结果:

       ax  bx  cx  dx  ex
    a  10  11  12  13  14
    b  15  16  17  18  19
    c  20  21  22  23  24
    d  25  26  27  28  29
    e  30  31  32  33  34
    f  35  36  37  38  39
    g  40  41  42  43  44
    h  45  46  47  48  49
    i  50  51  52  53  54
    j  55  56  57  58  59
    ********************* <- dataframe
       close  open  cx  dx  ex
    a     10    11  12  13  14
    b     15    16  17  18  19
    c     20    21  22  23  24
    d     25    26  27  28  29
    e     30    31  32  33  34
    f     35    36  37  38  39
    g     40    41  42  43  44
    h     45    46  47  48  49
    i     50    51  52  53  54
    j     55    56  57  58  59
    ********************* <- dataframe
    

    如果想直接影响本dataframe,可以使用参数inplace设置为True。

    import pandas as pd
    import numpy as np
    val = np.arange(10, 60).reshape(10, 5)
    col = ["ax", "bx", "cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val, columns = col, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    df1.rename(columns = {"ax" : "close", "bx" : "open"}, inplace = True)
    print df1
    print "*" * 21, "<- dataframe"
    

    程序的执行结果:

       ax  bx  cx  dx  ex
    a  10  11  12  13  14
    b  15  16  17  18  19
    c  20  21  22  23  24
    d  25  26  27  28  29
    e  30  31  32  33  34
    f  35  36  37  38  39
    g  40  41  42  43  44
    h  45  46  47  48  49
    i  50  51  52  53  54
    j  55  56  57  58  59
    ********************* <- dataframe
       close  open  cx  dx  ex
    a     10    11  12  13  14
    b     15    16  17  18  19
    c     20    21  22  23  24
    d     25    26  27  28  29
    e     30    31  32  33  34
    f     35    36  37  38  39
    g     40    41  42  43  44
    h     45    46  47  48  49
    i     50    51  52  53  54
    j     55    56  57  58  59
    ********************* <- dataframe
    

    13.2 增加一列

    在pandas里对dataframe数据的增加可以通过[]或者insert函数等方法来实现。

    • []方式将新的series添加在原dataframe的尾部。
    import pandas as pd
    import numpy as np
    val = np.arange(10, 60).reshape(10, 5)
    col = ["ax", "bx", "cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val, columns = col, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    nval = val = np.arange(100, 110).reshape(10, 1)
    df1["fx"] = nval 
    print df1
    

    程序的执行结果:

       ax  bx  cx  dx  ex
    a  10  11  12  13  14
    b  15  16  17  18  19
    c  20  21  22  23  24
    d  25  26  27  28  29
    e  30  31  32  33  34
    f  35  36  37  38  39
    g  40  41  42  43  44
    h  45  46  47  48  49
    i  50  51  52  53  54
    j  55  56  57  58  59
    ********************* <- dataframe
       ax  bx  cx  dx  ex   fx
    a  10  11  12  13  14  100
    b  15  16  17  18  19  101
    c  20  21  22  23  24  102
    d  25  26  27  28  29  103
    e  30  31  32  33  34  104
    f  35  36  37  38  39  105
    g  40  41  42  43  44  106
    h  45  46  47  48  49  107
    i  50  51  52  53  54  108
    j  55  56  57  58  59  109
    
    
    • 而insert函数可将插入的series放在指定位置。
    import pandas as pd
    import numpy as np
    val = np.arange(10, 60).reshape(10, 5)
    col = ["ax", "bx", "cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val, columns = col, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    nval = val = np.arange(100, 110).reshape(10, 1)
    df1["fx"] = nval 
    print df1
    print "*" * 21, "<- dataframe"
    df1.insert(1, "gx", nval)
    print df1
    print "*" * 21, "<- dataframe"
    

    程序的执行结果:

       ax  bx  cx  dx  ex
    a  10  11  12  13  14
    b  15  16  17  18  19
    c  20  21  22  23  24
    d  25  26  27  28  29
    e  30  31  32  33  34
    f  35  36  37  38  39
    g  40  41  42  43  44
    h  45  46  47  48  49
    i  50  51  52  53  54
    j  55  56  57  58  59
    ********************* <- dataframe
       ax  bx  cx  dx  ex   fx
    a  10  11  12  13  14  100
    b  15  16  17  18  19  101
    c  20  21  22  23  24  102
    d  25  26  27  28  29  103
    e  30  31  32  33  34  104
    f  35  36  37  38  39  105
    g  40  41  42  43  44  106
    h  45  46  47  48  49  107
    i  50  51  52  53  54  108
    j  55  56  57  58  59  109
    ********************* <- dataframe
       ax   gx  bx  cx  dx  ex   fx
    a  10  100  11  12  13  14  100
    b  15  101  16  17  18  19  101
    c  20  102  21  22  23  24  102
    d  25  103  26  27  28  29  103
    e  30  104  31  32  33  34  104
    f  35  105  36  37  38  39  105
    g  40  106  41  42  43  44  106
    h  45  107  46  47  48  49  107
    i  50  108  51  52  53  54  108
    j  55  109  56  57  58  59  109
    ********************* <- dataframe
    
    • loc[]来添加新的数据列。
    import pandas as pd
    import numpy as np
    val = np.arange(10, 60).reshape(10, 5)
    col = ["ax", "bx", "cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val, columns = col, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    nval = val = np.arange(100, 110).reshape(10, 1)
    df1.loc[:, "ix"] = nval 
    print df1
    print "*" * 21, "<- dataframe"
    

    程序的执行结果:

       ax  bx  cx  dx  ex
    a  10  11  12  13  14
    b  15  16  17  18  19
    c  20  21  22  23  24
    d  25  26  27  28  29
    e  30  31  32  33  34
    f  35  36  37  38  39
    g  40  41  42  43  44
    h  45  46  47  48  49
    i  50  51  52  53  54
    j  55  56  57  58  59
    ********************* <- dataframe
       ax  bx  cx  dx  ex   ix
    a  10  11  12  13  14  100
    b  15  16  17  18  19  101
    c  20  21  22  23  24  102
    d  25  26  27  28  29  103
    e  30  31  32  33  34  104
    f  35  36  37  38  39  105
    g  40  41  42  43  44  106
    h  45  46  47  48  49  107
    i  50  51  52  53  54  108
    j  55  56  57  58  59  109
    

    13.3 concat多列连接

    pandas有个concat函数可以连接多个dataframe数据组成一个更大的dataframe数据。

    import pandas as pd
    import numpy as np
    val1 = np.arange(10, 40).reshape(10, 3)
    val2 = np.arange(50, 80).reshape(10, 3)
    col1 = ["ax", "bx", "cx"]
    col2 = ["cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val1, columns = col1, index = idx)
    df2 = pd.DataFrame(val2, columns = col2, index = idx)
    print df1
    print "*" * 21, "<- dataframe"
    print df2
    print "*" * 21, "<- dataframe"
    df3 = pd.concat([df1, df2[5:], df1[:5],df2], axis = 1)
    print df3
    

    程序执行结果:

    ********************
       ax  bx  cx
    a  10  11  12
    b  13  14  15
    c  16  17  18
    d  19  20  21
    e  22  23  24
    f  25  26  27
    g  28  29  30
    h  31  32  33
    i  34  35  36
    j  37  38  39
    ********************* <- dataframe
       cx  dx  ex
    a  50  51  52
    b  53  54  55
    c  56  57  58
    d  59  60  61
    e  62  63  64
    f  65  66  67
    g  68  69  70
    h  71  72  73
    i  74  75  76
    j  77  78  79
    ********************* <- dataframe
       ax  bx  cx  cx  dx  ex  ax  bx  cx  cx  dx  ex
    a  10  11  12 NaN NaN NaN  10  11  12  50  51  52
    b  13  14  15 NaN NaN NaN  13  14  15  53  54  55
    c  16  17  18 NaN NaN NaN  16  17  18  56  57  58
    d  19  20  21 NaN NaN NaN  19  20  21  59  60  61
    e  22  23  24 NaN NaN NaN  22  23  24  62  63  64
    f  25  26  27  65  66  67 NaN NaN NaN  65  66  67
    g  28  29  30  68  69  70 NaN NaN NaN  68  69  70
    h  31  32  33  71  72  73 NaN NaN NaN  71  72  73
    i  34  35  36  74  75  76 NaN NaN NaN  74  75  76
    j  37  38  39  77  78  79 NaN NaN NaN  77  78  79
    

    从结果可以看出,连接的两个dataframe结构不同,即有的dataframe没有相应的行,那么数据行上无数据用NaN填充。

    13.4 列的内容替换

    可以通过赋值的方式更换列的数值。

    import pandas as pd
    import numpy as np
    val1 = np.arange(10, 40).reshape(10, 3)
    val2 = np.arange(50, 80).reshape(10, 3)
    col1 = ["ax", "bx", "cx"]
    col2 = ["cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val1, columns = col1, index = idx)
    df2 = pd.DataFrame(val2, columns = col2, index = idx)
    print df1[:3]
    print "*" * 21, "<- dataframe"
    print df2[:3]
    print "*" * 21, "<- dataframe"
    df1.cx = df2.cx
    print df1[:3]
    

    这里df1里的cx列被换成了df2里的cx内容。

       ax  bx  cx
    a  10  11  12
    b  13  14  15
    c  16  17  18
    ********************* <- dataframe
       cx  dx  ex
    a  50  51  52
    b  53  54  55
    c  56  57  58
    ********************* <- dataframe
       ax  bx  cx
    a  10  11  50
    b  13  14  53
    c  16  17  56
    

    13.5 删除列

    删除dataframe的列可以用del()、dataframe的pop函数、drop函数。del函数直接影响原dataframe,pop函数返回被删除的数据即某列,其结果是一个Series,而drop可以指定多列删除。

    import pandas as pd
    import numpy as np
    val1 = np.arange(10, 40).reshape(10, 3)
    val2 = np.arange(50, 80).reshape(10, 3)
    col1 = ["ax", "bx", "cx"]
    col2 = ["cx", "dx", "ex"]
    idx = list("abcdefghij")
    df1 = pd.DataFrame(val1, columns = col1, index = idx)
    df2 = pd.DataFrame(val2, columns = col2, index = idx)
    print "*" * 21
    print df1[:3]
    print "*" * 21
    print df2[:3]
    del df1["cx"]
    print "*" * 21
    print df1[:3]
    df3 = df2.pop("cx")
    print "+" * 21
    print df2[:3]
    print "-" * 21
    print df3[:3]
    print "/" * 21
    df1 = pd.DataFrame(val1, columns = col1, index = idx)
    df4 = df1.drop(["ax", "cx"], axis = 1)
    print df1[:3]
    print df4[:3]
    

    程序执行结果如下:

       ax  bx  cx
    a  10  11  12
    b  13  14  15
    c  16  17  18
    *********************
       cx  dx  ex
    a  50  51  52
    b  53  54  55
    c  56  57  58
    *********************
       ax  bx
    a  10  11
    b  13  14
    c  16  17
    +++++++++++++++++++++
       dx  ex
    a  51  52
    b  54  55
    c  57  58
    ---------------------
    a    50
    b    53
    c    56
    Name: cx, dtype: int64
    /
       ax  bx  cx
    a  10  11  12
    b  13  14  15
    c  16  17  18
       bx
    a  11
    b  14
    c  17
    

    Next  Previous

    展开全文
  • 问题描述 list = [[1, 2, 3], [3, 4], [1, 2, 3, 4, 5]] 想转成dataframe格式如下 tag 0 [1, 2, 3] 1 [3, 4] 2 [1, 2, 3, 4, 5] ...AssertionError: 1 columns passed, passed data had 5 columns 原因: 使用

    问题描述

    list = [[1, 2, 3], [3, 4], [1, 2, 3, 4, 5]]
    

    想转成dataframe格式如下

                   tag
    0        [1, 2, 3]
    1           [3, 4]
    2  [1, 2, 3, 4, 5]
    

    错误:
    使用pd.DataFrame(data=list,columns=[‘a’])报错
    AssertionError: 1 columns passed, passed data had 5 columns

    原因:
    使用pandas.DataFrame构造函数时每个子列表被解释为一行的事实

    解决方法

    pd.DataFrame({'tag':list})
    
    展开全文
  • 构建DataGridView的定制NumericUpDown单元格和表格列的类型,如何在DataGridView Columns ColumnType中显示出来供用户选择
  • columns const columns = [{ title: '简介', width: '20%', dataIndex: 'remark', }, { title: '操作', width: '25%', dataIndex: 'id', // 操作列跳转,且传递 ID 参数 render:(text,record) =>( <div> ...

    背景

    上周玩了两天 React,用 React + antd + Table 实现一个简单的列表功能,列表组件渲染时,this 对象跟当前组件定义不是同一个,导致定位不到对应的操作事件。

    columns

    const columns = [{
        title: '简介',
        width: '20%',
        dataIndex: 'remark',
    }, {
        title: '操作',
        width: '25%',
        dataIndex: 'id',
        // 操作列跳转,且传递 ID 参数
        render:(text,record) =>(
    <div>
      <Link style={btnStyle} to={"/toDetail/"+record.id}><Button size='small' type="default">详情</Button></Link>
      <Link style={btnStyle} to={"/toEdit/"+record.id}><Button size='small' type="primary">编辑</Button></Link>
      <Button style={btnStyle} onClick={()=>{this.remove(record)}} size='small' type="danger">删除</Button>
    </div>
    )
    }]
    

    属性的方式,但是个函数,也没问题,this. 能拿到对应的方法。

    render:(text,record)=> {
      return (
          <div>
              <Link style={btnStyle} to={"/toDetail/"+record.id}><Button size='small' type="default">详情</Button></Link>
              <Link style={btnStyle} to={"/toEdit/"+record.id}><Button size='small' type="primary">编辑</Button></Link>
              <Button style={btnStyle} onClick={()=>{this.remove(record)}} size='small' type="danger">删除</Button>
          </div>
      )
    }
    

    有问题的方法

    另一种方式直接写函数的做法,指针指向不明,无法定位到对应的方法。

    {
     title: '操作',
     width: '25%',
     dataIndex: 'id',
     // 操作列跳转,且传递 ID 参数
     render(text,record) {
         return (
             <div>
                 <Link style={btnStyle} to={"/toDetail/"+record.id}><Button size='small' type="default">详情</Button></Link>
                 <Link style={btnStyle} to={"/toEdit/"+record.id}><Button size='small' type="primary">编辑</Button></Link>
                 <Button style={btnStyle} onClick={()=>{this.remove(record)}} size='small' type="danger">删除</Button>
             </div>
         )
     }
    }
    

    这段代码就报错:
    在这里插入图片描述
    这个是从 GitHub 上的一个项目中拷贝的代码,简单跳转没问题,但是有需要调用其他方法的时候就过不去。

    为什么呢?

    属性 render:(text,record)=> {} 和直接提供一个函数 render(text,record) 的区别是什么,为何差距这么大呢?

    看官方示例都是第一种,render: 函数

    展开全文
  • DataTable dt = new ...dt.Columns.Add(“a”,typeof(System.Int32)); dt.Columns.Add(“b”,typeof(System.String)); dt.Columns.Add(“c”,typeof(System.DateTime)); dt.Columns.Add(“d”,typeof(System.Boole...
  • Kubernetes格式化输出:custom-columns

    千次阅读 2019-12-02 08:54:52
    Kubernetes资源内容查询:JSONPath ...To define custom columns and output only the details that you want into a table, you can use thecustom-columnsoption. You can choose to define the custo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 523,637
精华内容 209,454
关键字:

columns