精华内容
下载资源
问答
  • python——修改Dataframe列名的两种方法

    万次阅读 多人点赞 2017-06-02 20:51:01
    首先新建一个Dataframe import pandas as pd df = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]}) 如下: a b 0 1 1 1 2 2 2 3 3 1、修改列名a,b为A、B。 df.columns = ['A','B'] ...2、只修改列名a为A

    首先新建一个Dataframe

    import pandas as pd

    df = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]})

     

    如下:
       a  b
    0  1  1
    1  2  2
    2  3  3

     

     

    1、修改列名a,b为A、B。

    df.columns = ['A','B']

    2、只修改列名a为A

    df.rename(columns={'a':'A'})

     

    如你想了解更多关于python和spark以及机器学习的知识,可以关注下面的公众号我们一起沟通交流。

     

    展开全文
  • python 修改dataframe列名的几种方法

    千次阅读 2021-01-25 14:08:20
    实际开发中经常有修改dataframe列名的需求,特意总结了如下可用的几种方法。 import pandas as pd def t1(): df = pd.DataFrame({'c1':[1, 2, 3], 'c2': [4, 5, 6]}) print(df) df.columns = ['d1', 'd2'] ...

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
    经常有同学私信或留言询问相关问题,V号bitcarmanlee。github上star的同学,在我能力与时间允许范围内,尽可能帮大家解答相关问题,一起进步。

    实际开发中经常有修改dataframe列名的需求,特意总结了如下可用的几种方法。

    import pandas as pd
    
    
    def t1():
        df = pd.DataFrame({'c1':[1, 2, 3], 'c2': [4, 5, 6]})
        print(df)
    
        df.columns = ['d1', 'd2']
        print(df)
    
        df.rename(columns={'d1': 'e1', 'd2': 'e2'}, inplace=True)
        print(df)
    
        df = df.rename(columns={'e1': 'f1', 'e2': 'f2'})
        print(df)
    
    
    t1()
    

    上面代码的输出:

       c1  c2
    0   1   4
    1   2   5
    2   3   6
       d1  d2
    0   1   4
    1   2   5
    2   3   6
       e1  e2
    0   1   4
    1   2   5
    2   3   6
       f1  f2
    0   1   4
    1   2   5
    2   3   6
    

    由上面的代码可以看出,修改列名的两种方式为:
    1.直接使用df.columns的方式重新命名,不过这种方式需要列出所有列名。
    2.使用rename方法,注意如果需要原地修改需要带上inplace=True的参数,否则原dataframe列名不会发生改变。

    展开全文
  • python修改Dataframe列名的两种方法

    万次阅读 多人点赞 2020-03-26 17:29:04
    首先新建一个Dataframe import pandas as pd df = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]}) ...1、修改列名a,b为A、B。 df.columns = ['A','B'] 2、只修改列名a为A df.rename(columns={'a':'A'}) ...
    首先新建一个Dataframe
    import pandas as pd
    df = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]})
    如下:
       a  b
    0  1  1
    1  2  2
    2  3  3
    
    1、修改列名a,b为A、B。
    df.columns = ['A','B']
    2、只修改列名a为A,inplace=Ture,修改原数据
    df.rename(columns={'a':'A'}, inplace=Ture)
    
    
    
    展开全文
  • 本文参考自:pandas 修改 DataFrame 列名原博客针对每个DataFrame.columns中的元素做相同的修改操作而拙作是对每个元素做不同操作的生搬硬套, 请大家不吝赐教提出问题存在一个名为dataset的DataFrame>>> dataset....

    本文参考自:pandas 修改 DataFrame 列名

    原博客针对每个DataFrame.columns中的元素做相同的修改操作

    而拙作是对每个元素做不同操作的生搬硬套, 请大家不吝赐教

    提出问题

    存在一个名为dataset的DataFrame

    >>> dataset.columns

    Index(['age', 'job', 'marital', 'education', 'default', 'housing', 'loan',

    'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays',

    'previous', 'poutcome', 'emp.var.rate', 'cons.price.idx',

    'cons.conf.idx', 'euribor3m', 'nr.employed', 'y'],

    dtype='object')

    现在, 我要将其columns名字改为:

    >>> new_columns

    Index(['age_0', 'job_1', 'marital_2', 'education_3', 'default_4', 'housing_5',

    'loan_6', 'contact_7', 'month_8', 'day_of_week_9', 'duration_10',

    'campaign_11', 'pdays_12', 'previous_13', 'poutcome_14',

    'emp.var.rate_15', 'cons.price.idx_16', 'cons.conf.idx_17',

    'euribor3m_18', 'nr.employed_19', 'y_20'],

    dtype='object')

    该如何操作?

    解决

    一.通过DataFrame.columns类的自身属性修改:

    1.无脑赋值直接修改

    >>> # 先解决`new_columns`的推导问题

    >>> # 列表推导

    >>> new_columns_list = [column_str+'_'+str(i) for i ,column_str in enumerate(dataset.columns)]

    >>> # 类型转换

    >>> new_columns = pd.core.indexes.base.Index(new_columns_list)

    >>> dataset.columns = new_columns

    2.通过.map(mapper, na_action=None)函数来修改

    >>> # 注:mapper 多运用 lambda 表达式

    >>> # 但我似乎没有找到在 lambda 表达式中改变两个值的方法

    >>> # 所以只能蹩脚地用一个全局变量i, 和映射函数mapper()

    >>> # 希望大家能帮我找到方法

    >>> i = 0

    >>> def mapper(x): # 映射函数即 mapper

    global i

    x += '_' + str(i)

    i += 1

    return x

    >>> dataset.columns.map(mapper)

    3.参考博客用到了DataFrame.columns.str对象

    用help(DataFrame.columns.str)翻遍了文档,

    也没能找到可以被我拿来套用的方法, 想着抽时间把这段文档翻译一下

    二.通过DataFrame.rename()函数来修改

    1.暴力字典法(好处:可以只修改特定的列)

    >>> # 此处先用字典推导法

    >>> new_dict = {

    key:key+'_'+str(i)

    for i, key in enumerate(dataset.columns)

    }

    >>> dataset.rename(columns=new_dict, inplace=True)

    2.映射修改法

    >>> # 原博文依然用到了 lambda 表达式

    >>> # 我就再生搬硬套一次, 把上面的复制过来

    >>> # 蹩脚地用一个全局变量i, 和映射函数mapper()

    >>> i = 0

    >>> def mapper(x): # 映射函数即 mapper

    global i

    x += '_' + str(i)

    i += 1

    return x

    dataset.rename(columns=mapper, inplace=True)

    稍微总结一下 : 字典推导和列表推导的使用方法很类似, 最大的区别是选择中括号还是大括号

    写在最后

    十分欢迎大家直接修改拙作或提出建议!!!

    展开全文
  • python 修改dataframe列名

    千次阅读 2019-10-03 10:49:14
    python 修改dataframe列名 1. 修改全部列名 df.columns base_data_model.columns = [u'有效率',u'提交率',u'参与度',u'回放占比',u'主好评率',u'辅好评率',u'是否付费'] ...
  • pandas 修改 DataFrame 列名

    千次阅读 2020-10-08 15:09:31
    pandas 修改 DataFrame 所有列名为小写pandas 修改 DataFrame 列名①暴力②修改修改④暴力(好处:也可只修改特定的列)⑤修改Python 字符串大小写转换pandas 修改 DataFrame 所有列名为小写 pandas 修改 ...
  • 今天来整理一下Pandas修改Dataframe列名的方法: 首先是野生自创Dataframe import pandas as pd df = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]}) 结果是酱紫的 下面是方法: 第一种是最简单常用方法 1、修改列名a...
  • You can use this solution: import pandas as pd x = pd.DataFrame([{'Id':2, 'A':"no", 'B':"no", 'C':"no", 'D':"yes"}, {'Id':3, 'A':"yes", 'B':"yes", 'C':"yes", 'D':"no"}, {'Id':4, 'A':"yes", 'B':"no", '...
  • Python茴香豆系列】之 PANDAS 修改 DataFrame 列名Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情。这让我想起鲁迅笔下的孔乙己。孔乙己对于茴香豆的茴字的四种写法颇有研究。我不...
  • 日常在处理数据的时候,经常需要对dataframe进行重排,只取其中几列或者更改列名等操作;有两个相似的方法reindex和rename,与此记录一下常见的用法,并标注一下区别:rename:重命名,就是对col列进行命名的修改,...
  • >>>a.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace = True) >>>a a b c 0 1 4 7 1 2 5 8 2 3 6 9

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,701
精华内容 2,280
关键字:

python修改dataframe的列名

python 订阅