我想将一个 Series append 到 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
不支持索引列。那么,如果我想将一个 Series 作为新行连接到 DF,那么我只能使用 df.append 来代替吗?
最佳答案
需要 to_frame
提供的 Series
中的 DataFrame
并转置:
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
或者使用setting with enlargement :
df.loc[1] = sr
print (df)
a b
1 1 2
关于python - 为什么使用索引匹配列将 Series 连接到 DataFrame 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090309/