如何将Series插入DataFrame行?

时间:2016-10-18 17:17:10

标签: python pandas numpy dataframe

我有一个像这样的DataFrame:

import pandas as pd
import numpy as np
df = pd.DataFrame(columns=['a','b','c','d'], index=['x','y','z'])
df
     a    b    c    d
x  NaN  NaN  NaN  NaN
y  NaN  NaN  NaN  NaN
z  NaN  NaN  NaN  NaN

我也有这样的系列

s = pd.Series(np.random.randn(3), index=['b', 'c', 'd'])
s
b   -0.738283
c   -0.649760
d   -0.777346 
dtype: float64

我想将Series插入到DataFrame的一行中,例如第1行,从而生成最终的DataFrame:

     a       b          c         d
x  NaN      NaN        NaN       NaN
y  NaN  -0.738283  -0.649760  -0.777346
z  NaN      NaN        NaN       NaN

我该怎么办?提前谢谢;)

1 个答案:

答案 0 :(得分:3)

如果需要按位置index选择df,则可以使用iloc

#select second row (python counts from 0)
df.iloc[1] = s
print (df)
     a        b         c       d
x  NaN      NaN       NaN     NaN
y  NaN  1.71523  0.269975 -1.3663
z  NaN      NaN       NaN     NaN

ixloc)如果需要按标签选择:

df.ix['y'] = s
df.loc['z'] = s
print (df)

     a         b         c         d
x  NaN       NaN       NaN       NaN
y  NaN  0.619316  0.917374 -0.559769
z  NaN  0.619316  0.917374 -0.559769