当前位置: 首页 > 知识库问答 >
问题:

从列表中更改Dataframe中的列名

郭均
2023-03-14

是否可以使用列表中的数据更改列名?

df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4, 
       2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55], 
       [3,3.4,2.0,0.25,0.55]], 
       columns=["ID", "A", "B","C","D"])\
       .set_index('ID')

我有我的新标签如下:

New_Labels=['NaU', 'MgU', 'AlU', 'SiU']

是否可以使用上述列表中的数据更改名称?我的原始数据集有100列,我不想为每列手动执行此操作。

我尝试使用df.rename执行以下操作,但不断出现错误。谢谢

共有3个答案

党浩阔
2023-03-14
df = pd.DataFrame([[1, 1.0, 2.3,0.2,0.53], [2, 3.35, 2.0,0.2,0.65], [2,3.4, 
       2.0,0.25,0.55], [3,3.4,2.0,0.25,0.55], [1,3.4,2.0,0.25,0.55], 
       [3,3.4,2.0,0.25,0.55]], 
       columns=["ID", "A", "B","C","D"])\
       .set_index('ID')
New_Labels=['NaU', 'MgU', 'AlU', 'SiU']
df.columns = New_Labels

这将使df看起来像这样:

     NaU  MgU   AlU   SiU
ID                       
1   1.00  2.3  0.20  0.53
2   3.35  2.0  0.20  0.65
2   3.40  2.0  0.25  0.55
3   3.40  2.0  0.25  0.55
1   3.40  2.0  0.25  0.55
3   3.40  2.0  0.25  0.55
庞乐池
2023-03-14

您可以使用以下选项:

df.columns = New_Labels
和弘博
2023-03-14

使用重命名是一种形式上更正确的方法。你只需要提供一个字典,将你当前的列名称映射到新的列名称(即使列放错地方,这也能保证预期的结果)

new_names = {'A':'NaU', 'B':'MgU', 'C':'Alu', 'D':'SiU'}
df.rename(index=str, columns=new_names)

请注意,您可以为要替换的唯一名称提供条目,其余名称将保持不变。

 类似资料:
  • 我试图改变列或处理列,我得到一些keyError错误。致力于芝加哥犯罪数据分析。 例如,当我试图跑步时 关键错误 完整代码: 这就是错误: 2896尝试:- pandas/_libs/index.pyx在pandas中。_libs.index.IndexEngine.get_loc() pandas/_libs/index.pyx在pandas中。_libs.index.IndexEngine.g

  • 本文向大家介绍更改Pandas Dataframe中一列或多列的数据类型,包括了更改Pandas Dataframe中一列或多列的数据类型的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习一种或多种列数据类型到另一种数据类型的转换。我们将使用DataFrame.astype()方法。 我们必须传递来自Python,Pandas或Numpy的任何数据类型以更改列元素的数据类型。我们还可

  • 本文向大家介绍浅谈dataframe中更改列属性的方法,包括了浅谈dataframe中更改列属性的方法的使用技巧和注意事项,需要的朋友参考一下 在读取文件时将整数变量读成了字符串, 或者需要转换列属性时,通过方法astype Python中 举例: R中 举例: data<-read.csv('data.csv',col.names = c('id','sex','numbers'),string

  • 本文向大家介绍如何更改 pandas dataframe 中两列的位置,包括了如何更改 pandas dataframe 中两列的位置的使用技巧和注意事项,需要的朋友参考一下 如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置。 原来的 df 是: 要将 Mid 这一列移动到第一列? 解决办法:(使用 ix ) 法一: 法二: 最终的处理结果: 以上这篇如何更

  • 我定义了一个配置,其中包含每个表的列列表,用作dedup键 例如:配置1: 这些列需要用作重复数据消除键。这个列表是动态的,有些表中有1个值,有些表中有2或3个值 我想做的是从这个列表中建立一个键列 我如何使这个动态的列表适用于任意数量的列。我试过这么做 为了实现这一点,我必须将列表转换为Df,列表中的每个值都需要在单独的列中,我无法理解这一点。 试过这么做但没用 欢迎任何意见,谢谢

  • 问题内容: 我需要在Python中创建列表列表,因此输入了以下内容: 该列表如下所示: 然后,我更改了最内在的值之一: 现在我的列表如下所示: 这不是我想要或期望的。有人可以解释发生了什么,以及如何解决吗? 问题答案: 当您编写时,您基本上得到了。也就是说,具有3个对same的引用的列表。然后,当您修改此单曲时x,可以通过对其的所有三个引用来看到它: 要修复它,您需要确保在每个位置创建一个新列表。