Python 添加一个新列并填充
我正在尝试向pandas数据帧添加一列,如下所示:Python 添加一个新列并填充,python,pandas,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 如何做到这
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
如何做到这一点?您可以使用
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
您可以使用
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
一种可能性是使用
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
一种可能性是使用
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
如果我可以建议一个更简洁的标题,比如“添加一个带有重新索引/新索引/非重叠索引的新列”-因为问题中没有关于fillna的内容。如果我可以建议一个更简洁的标题,比如“添加带有重新索引/新索引/非重叠索引的新列”-因为问题中没有关于fillna的内容。