创建函数以重命名Pandas数据框中的列

雨123

我有如下数据框:

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

我尝试创建一个允许动态更改列名的函数,在该函数中,我只需在函数中输入旧列名和新列名即可,如下所示:

def rename_column_name(df, old_column, new_column):
    df = df.rename({'{}'.format(old_column) : '{}'.format(new_column)}, axis=1)
    return df

仅当我只有一个输入时,此功能才适用:

new_df = rename_column_name(df, '$a' , 'a')

这给了我这个new_df如下:

new_df = pd.DataFrame({'a':[1,2], '$b': [10,20]})

但是,我想创建一个函数,使我可以根据自己的喜好对多列/一列进行更改,例如:

new_df = rename_column_name(df, ['$a','$b'] , ['a','b'])

并获得如下的new_df

new_df = pd.DataFrame({'a':[1,2], 'b': [10,20]})

因此,如何使我的函数更具动态性,以允许我自由输入多个/一个列名并重命名它们?

Mayank porwal

您不需要功能,可以使用dict comprehension

In [265]: old_names = df.columns.tolist()                                                                                                                                                                   

In [266]: new_names = ['a','b']                                                                                                                                                                             

In [268]: df = df.rename(columns=dict(zip(old_names, new_names)))                                                                                                                                  

In [269]: df                                                                                                                                                                                                
Out[269]: 
   a   b
0  1  10
1  2  20

OP需要的功能:

In [274]: def rename_column_name(df, old_column_list, new_column_list): 
     ...:     df = df.rename(columns=dict(zip(old_column_list, new_column_list))) 
     ...:     return df 
     ...:                                                                                                                                                                                                   

In [275]: rename_column_name(df,old_names,new_names)                                                                                                                                                        
Out[275]: 
   a   b
0  1  10
1  2  20

您需要将a列传递给list此函数。它可以是多列或单列。这应该做您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

for循环或创建函数以创建矩阵(或数据框)并重命名列

来自分类Dev

使用值字典重命名Pandas数据框中的列

来自分类Dev

使用pandas重命名数据框的列中的元素

来自分类Dev

在groupby操作期间重命名pandas数据框中的列

来自分类Dev

如何创建函数或循环来重命名24个数据框的列?

来自分类Dev

无法重命名.sum()函数创建的数据框的列名

来自分类Dev

R函数,用于重命名数据框的列

来自分类Dev

使用Pandas数据框中的分类数据重命名变量

来自分类Dev

如何从多个Pandas数据框中收集和重命名相同的列

来自分类Dev

在Pandas数据框中对列进行排序和重命名-优雅的解决方案可能吗?

来自分类Dev

重命名Pandas数据框中的索引值

来自分类Dev

无法在Pandas数据框中拆分或重命名列

来自分类Dev

重命名R中数据框中的特定列

来自分类Dev

自定义函数以过滤pandas数据框列中的值

来自分类Dev

重命名数据框列表中的所有列

来自分类Dev

重命名Spark Python中的数据框列

来自分类Dev

如何重命名数据框中的列

来自分类Dev

使用其他数据框重命名熊猫中的列

来自分类Dev

重命名数据框中的多列

来自分类Dev

如何重命名Scala数据框中的列标题

来自分类Dev

基于 if/elif/and 函数在 Pandas 数据框中创建新列

来自分类Dev

创建一个函数以绘制计数图或基于数据框中列的数据类型绘制直方图

来自分类Dev

如何用另一个数据框重命名pandas数据框列?

来自分类Dev

无法重命名数据框的列

来自分类Dev

apply函数以pandas返回数据框

来自分类Dev

申请一个函数以使用向量化输入在数据框中创建新列

来自分类Dev

转置数据框后重命名数据框中的列

来自分类Dev

仅重命名数据框列表中每个数据框的最后一列

来自分类Dev

重命名Pandas Groupby函数中的列名

Related 相关文章

  1. 1

    for循环或创建函数以创建矩阵(或数据框)并重命名列

  2. 2

    使用值字典重命名Pandas数据框中的列

  3. 3

    使用pandas重命名数据框的列中的元素

  4. 4

    在groupby操作期间重命名pandas数据框中的列

  5. 5

    如何创建函数或循环来重命名24个数据框的列?

  6. 6

    无法重命名.sum()函数创建的数据框的列名

  7. 7

    R函数,用于重命名数据框的列

  8. 8

    使用Pandas数据框中的分类数据重命名变量

  9. 9

    如何从多个Pandas数据框中收集和重命名相同的列

  10. 10

    在Pandas数据框中对列进行排序和重命名-优雅的解决方案可能吗?

  11. 11

    重命名Pandas数据框中的索引值

  12. 12

    无法在Pandas数据框中拆分或重命名列

  13. 13

    重命名R中数据框中的特定列

  14. 14

    自定义函数以过滤pandas数据框列中的值

  15. 15

    重命名数据框列表中的所有列

  16. 16

    重命名Spark Python中的数据框列

  17. 17

    如何重命名数据框中的列

  18. 18

    使用其他数据框重命名熊猫中的列

  19. 19

    重命名数据框中的多列

  20. 20

    如何重命名Scala数据框中的列标题

  21. 21

    基于 if/elif/and 函数在 Pandas 数据框中创建新列

  22. 22

    创建一个函数以绘制计数图或基于数据框中列的数据类型绘制直方图

  23. 23

    如何用另一个数据框重命名pandas数据框列?

  24. 24

    无法重命名数据框的列

  25. 25

    apply函数以pandas返回数据框

  26. 26

    申请一个函数以使用向量化输入在数据框中创建新列

  27. 27

    转置数据框后重命名数据框中的列

  28. 28

    仅重命名数据框列表中每个数据框的最后一列

  29. 29

    重命名Pandas Groupby函数中的列名

热门标签

归档