如何以索引方式替换整个Pandas DataFrame列?

时间:2016-01-11 19:28:18

标签: python pandas dataframe

假设我有以下数据:

import pandas as pd
df1 = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
df1.index = ['row1', 'row2', 'row3']

to_add = pd.Series([7,8,9])
to_add.index = ['row3', 'row2', 'row1']

如何在新列to_add中将df1系列添加到C DataFrame索引索引?如果我想再次使用B将列to_add替换为索引索引,该怎么办?

2 个答案:

答案 0 :(得分:2)

试试吧!

>>> df1['C'] = to_add
>>> df1

      A  B  C
row1  1  4  9
row2  2  5  8
row3  3  6  7

>>> df1['B'] = to_add
>>> df1
      A  B  C
row1  1  9  9
row2  2  8  8
row3  3  7  7

答案 1 :(得分:1)

如果您不确定@ vk1011解决方案是否正常,您可以使用loc并将to_add.index传递给它:

df1.loc[to_add.index, 'C'] = to_add
df1.loc[to_add.index, 'B'] = to_add

In [282]: df1
Out[282]: 
      A  B  C
row1  1  9  9
row2  2  8  8
row3  3  7  7