如何在索引2处向pandas数据帧添加额外行而不覆盖现有索引

时间:2016-06-22 18:27:47

标签: python pandas

在将输出数据帧写入excel文件之前,我需要在数据帧中添加一行。以下是我的示例数据框:

    -----------------------------
    | Col1 | Col2 | Col3 | Col4 |
    -----------------------------
0   | CA1  | CB1  | CC2  | CD1  |
1   | CA5  | CB5  | CC5  | CD5  |
2   | CA3  | CB3  | CC3  | CD3  |
    -----------------------------

mydict = {'Col1':'P','Col2':'Q','Col3':'R','Col4':'S'}

现在我需要添加一个额外的行,其中应该从对应于列标题的mydict中选择新的行值。

期望的输出:

    -----------------------------
    | Col1 | Col2 | Col3 | Col4 |
    -----------------------------
    |  P   |  Q   |  R   | S    |
0   | CA1  | CB1  | CC2  | CD1  |
1   | CA5  | CB5  | CC5  | CD5  |
2   | CA3  | CB3  | CC3  | CD3  |
    -----------------------------

任何人都可以帮忙。

1 个答案:

答案 0 :(得分:0)

这对你有用吗?首先,将mydict转换为数据框,然后使用pd.concat

mydict = mydict= {'Col1': 'P', 'Col2': 'Q', 'Col3': 'R', 'Col4': 'S'}
df1 = pd.DataFrame(data=mydict, index=[0])

data = np.array([['CA1', 'CB1', 'CC2', 'CD1'],
                 ['CA5', 'CB5', 'CC5', 'CD5'],
                 ['CA3', 'CB3', 'CC3', 'CD3']])
df2 = pd.DataFrame(data, columns=['Col1', 'Col2', 'Col3', 'Col4'])

new_df = pd.concat([df1, df2])

然后new_df

In [58]: new_df
Out[58]: 
  Col1 Col2 Col3 Col4
0    P    Q    R    S
0  CA1  CB1  CC2  CD1
1  CA5  CB5  CC5  CD5
2  CA3  CB3  CC3  CD3