如何在索引 2 处向 pandas 数据帧添加额外的行而不覆盖现有索引
Posted
技术标签:
【中文标题】如何在索引 2 处向 pandas 数据帧添加额外的行而不覆盖现有索引【英文标题】:How to add an extra row to pandas dataframe at index 2 without overwriting existing index 【发布时间】:2016-10-24 20:20:47 【问题描述】:在将我的输出数据框写入 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 |
-----------------------------
谁能帮忙。
【问题讨论】:
How to add an extra row to a pandas dataframe的可能重复 我的问题不同。我需要在索引 2 处添加一个新行。如果这样做,它会覆盖现有行吗?还想知道如何从 mydict 获取相应列标题的值。谢谢。 我很困惑...这是您想要的输出吗?您是要在所需位置插入一行还是要为每列获取多个名称? 【参考方案1】:这对你有用吗?首先,将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
【讨论】:
以上是关于如何在索引 2 处向 pandas 数据帧添加额外的行而不覆盖现有索引的主要内容,如果未能解决你的问题,请参考以下文章