在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