Pandas dataframe的列标题为'name'。

17 浏览
0 Comments

Pandas dataframe的列标题为'name'。

我有多个数据框,根据一个共同的列进行连接。代码如下:\n

df=reduce(lambda x,y:pd.merge(x,y,on='name'),[total,eliminated, actionable, bug])

\n之后,我打算重命名列name。但是name不再在列名列表中。当我打印df时,name列显示出来,但是我不知道如何处理这个合并的列了,比如重命名。\n如果我打印type(df), df.columns, df,结果如下:\n

(pandas.core.frame.DataFrame,
 Index(['total', 'e', 'a', 'b'], dtype='object'),
                        total      e      a      b
 name                                             
 !CHAOS Control System    282  80.14  39.01   1.42
 Chromium EC              306  93.46  29.74  17.65
 Firefox                 5448  77.22  49.72  12.43

\nname列发生了什么,我之后如何重命名它?

0
0 Comments

Pandas dataframe column with title 'name'问题的出现原因是你可能将'name'设置为了索引。当你将某一列设置为索引后,这一列就不再作为普通的列存在,而是作为行的标识符。因此,当你想要对该列进行操作时,就会出现问题。

解决这个问题的方法是使用reset_index()函数,将索引重置为普通的列。通过执行df = df.reset_index(),你将恢复'name'列的普通列属性,并可以继续对该列进行操作。

重置索引后,你可以在DataFrame中使用'name'列进行各种操作,例如筛选、排序或重命名。这样,你就可以对'name'列的数据进行处理,而不会受到索引设置的限制。

总结起来,当你想要对Pandas DataFrame中的某一列进行操作,但该列被设置为索引时,可以使用reset_index()函数将其恢复为普通的列,以解决这个问题。

0