替换列并扩展 DataFrame 中的索引

我有 DataFrame x,我想用系列y替换一列


x = DataFrame([[1,2],[3,4]], columns=['C1','C2'], index=['a','b'])


   C1  C2

a   1   2

b   3   4


y = Series([5,6,7], index=['a','b','c'])


a    5

b    6

c    7

简单替换工作正常,但保留 DataFrame 的原始索引


x['C1'] = y


   C1  C2

a   5   2

b   6   4

我需要有x和y的 indeces 的联合。一种解决方案是在更换之前重新索引


x = x.reindex(x.index.union(y.index), copy=False)

x['C1'] = y


   C1   C2

a   5  2.0

b   6  4.0

c   7  NaN

有没有更简单的方法?


冉冉说
浏览 202回答 3
3回答

qq_笑_17

类似于您的解决方案,但更简洁,您使用reindex,然后assign:res = x.reindex(x.index | y.index).assign(C1=y)print(res)   C1   C2a   5  2.0b   6  4.0c   7  NaN

aluckdog

你的猫尝试使用 join:pd.DataFrame(y,columns=['C1']).join(x[['C2']])输出:   C1  C2a   5  2.0b   6  4.0c   7  NaN 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python