为什么concat Series to DataFrame与索引匹配列不起作用?

时间:2017-11-03 07:12:10

标签: python pandas dataframe append concat

我想将一个系列附加到一个DataFrame,其中Series的索引使用pd.concat匹配DataFrame的列,但它给了我惊喜:

df = pd.DataFrame(columns=['a', 'b'])
sr = pd.Series(data=[1,2], index=['a', 'b'], name=1)
pd.concat([df, sr], axis=0)
Out[11]: 
     a    b    0
a  NaN  NaN  1.0
b  NaN  NaN  2.0

我的期望当然是:

df.append(sr)
Out[14]: 
   a  b
1  1  2

我真的很惊讶pd.concat不知道索引列。因此,如果我想将一个系列作为新行连接到DF,那么我只能使用df.append代替吗?

1 个答案:

答案 0 :(得分:2)

DataFrame Series需要a = pd.concat([df, sr.to_frame(1).T]) print (a) a b 1 1 2 并转置:

print (sr.to_frame(1).T)
   a  b
1  1  2

详情:

df.loc[1] = sr
print (df)
   a  b
1  1  2

或使用to_frame

var r="html,body{overflow:auto !important;}";
var s=document.createElement("style");
s.type="text/css";
s.appendChild(document.createTextNode(r));
document.body.appendChild(s);
void 0;