pandas DataFrame添加一个新列和fillna

时间:2014-10-17 18:16:33

标签: python pandas

我正在尝试向pandas数据框添加一个列,如下所示:

df = pd.DataFrame()
df['one'] = pd.Series({'1':4, '2':6})
print (df)
df['two'] = pd.Series({'0':4, '2':6})
print (df)

这会产生:

   one  two
1    4  NaN
2    6    6

但是,我的结果是,

   one  two
0   NaN  4
1    4  NaN
2    6    6

你是怎么做到的?

2 个答案:

答案 0 :(得分:4)

一种可能性是使用pd.concat

ser1 = pd.Series({'1':4, '2':6})
ser2 = pd.Series({'0':4, '2':6})
df = pd.concat((ser1, ser2), axis=1)

获取

    0   1
0 NaN   4
1   4 NaN
2   6   6

答案 1 :(得分:2)

你可以使用join,告诉大熊猫你想要怎么做:

df = pd.DataFrame()
df['one'] = pd.Series({'1':4, '2':6})
df.join(pd.Series({'0':4, '2':6}, name = 'two'), how = 'outer')

这导致

   one  two
0  NaN    4
1    4  NaN
2    6    6