在 Pandas DataFrame 中新增頂部行


在 Pandas 中,DataFrame 是一種二維資料結構,即資料以表格形式排列在行和列中。我們可以使用列表、字典、序列和另一個 DataFrame 來建立 DataFrame。但是,當我們想要向已建立的 DataFrame 新增新行時,可以透過內建方法(如 append)來實現,該方法會將其新增到 DataFrame 的末尾。在本文中,我們將找到一些方法,使用一些涉及 DataFrame 中元素索引的技巧,將新行 DataFrame 新增到 DataFrame 的頂部。

示例

讓我們首先在 Pandas 中建立一個新的 DataFrame,如下所示。

import pandas as pd
data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']}
df = pd.DataFrame(data)
print df

輸出

執行以上程式碼,得到以下結果:

Age       Gender      Name
0         28          MTom
1         34          MJack
2         29          FMary
3         42          F Ricky

**方法 1** - 我們遵循的第一種方法是在 DataFrame 的頂部新增新行,即將新傳入的行轉換為 DataFrame,並將其與現有 DataFrame 連線,同時重置索引值。由於索引重置,新行將新增到頂部。

示例

import pandas as pd
data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']}
df = pd.DataFrame(data)
top_row = pd.DataFrame({'Name':['Lavina'],'Age':[2],'Gender':['F']})
# Concat with old DataFrame and reset the Index.
df = pd.concat([top_row, df]).reset_index(drop = True)
print df

輸出

執行以上程式碼,得到以下結果:

         Age       Gender      Name
0         2          F         Lavina
1         28         M         Tom
2         34         M         Jack
3         29         F         Mary
4         42         F         Ricky

**方法 2** - 在這種方法中,我們使用 **Dataframe.iloc[]** 方法,該方法允許我們在索引位置 0 新增新行。在以下示例中,我們透過將 .loc 方法的索引值指定為 0(第一行的索引值)來新增一個新行作為列表。

示例

import pandas as pd
data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']}
df = pd.DataFrame(data)
# Add a new row at index position 0 with values provided in list
df.iloc[0] = ['7', 'F','Piyu']
print df

輸出

執行以上程式碼,得到以下結果:

      Age    Gender   Name
0      7      F       Piyu
1      34     M       Jack
2      29     F       Mary
3      42     F       Ricky

更新於: 2019年8月7日

2K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.