【问题标题】:Add a value to pandas index为 pandas 索引添加一个值
【发布时间】:2018-12-23 15:59:43
【问题描述】:

我有 2 个数据框,我想在不重复列的情况下合并它们:

首先,我只从第二个数据帧中获取唯一列(如this 答案):

cols_to_use = df2.columns.difference(df1)

我需要保留一列,它是我的唯一标识符,名称为complete_name

现在,cols_to_use 不包含 complete_name,因为它被标记为重复,我该如何添加它?我试过了:

cols_to_use.append(pd.Index(['complete_name']))

但它什么也没做。有什么帮助吗?

【问题讨论】:

  • 你觉得cols_to_use.union(['complete_name']) 吗?
  • 还是不行@jezrael

标签: python pandas dataframe


【解决方案1】:

对我来说效果很好:

df1 = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')})

cols_to_use = df1.columns.difference(['A','C'])
print (cols_to_use)
Index(['B', 'D', 'E', 'F'], dtype='object')

print (cols_to_use.append(pd.Index(['complete_name'])))
Index(['B', 'D', 'E', 'F', 'complete_name'], dtype='object')

print (cols_to_use.union(['complete_name']))
Index(['B', 'D', 'E', 'F', 'complete_name'], dtype='object')

【讨论】:

  • 你说得对,我只使用了cols_to_use.append(...) 而不是cols_to_use = cols_to_use.append(...) ...耗时的错误
  • @MikeVlad - 我并不感到惊讶,因为纯 python append 工作 inplace(不需要指定),但在 pandas 中使用 Index.append。它看起来相似,但功能不同。
猜你喜欢
  • 2015-12-13
  • 2021-05-05
  • 2013-10-16
  • 2019-05-04
  • 2021-07-28
  • 2015-08-31
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多