Pandas dataframe.insert()函数 - 完整指南

708 阅读4分钟

在这篇文章中,我们将看到Pandas的数据框架。insert() 函数。这个函数是用于列转换技术的。所以,让我们直接进入它吧

Pandas库是最重要的库之一,它收集数据并为用户表示。这个API是建立在matplotlib和NumPy库之上的,这说明它是纯粹的Python制作的。从读取复杂而庞大的数据集到对其进行统计分析,这个包非常容易学习和使用。

什么是数据框架?

对于Pandas用户来说,数据框架的概念并不陌生。它是一个行和列的集合,以表格的形式表示数据。就像普通的表格一样,但我们可以用几行代码来修改表格的每个单元格。这节省了大量的工作时间,因为我们不需要在整个表格中搜索该元素。

我们将创建一个样本数据集,然后再进一步实施。要创建一个数据集,必须给它一个字典,它的列是键的形式,行是值的形式。

代码。

import pandas as pd

data_dict = {'Name':['Ramesh', 'Suresh', 'Rajeev', 'Neha', 'Aditi'], 
                    'Roll_nos':[1, 2, 3, 4, 5], 
                    'Division':['A', 'B', 'C', 'D', 'E'] }

data = pd.DataFrame(data_dict)
data

输出。

创建一个样本数据集

现在我们已经准备好了我们的基本数据集,让我们来检索一些关于它的信息。

从Pandas数据框中获取基本信息

代码。

data.columns
data.info()

输出图像。

关于数据框架的基本信息

使用dataframe.insert()函数来添加一个列

我们朝着在我们的数据框架中插入列的方向前进。insert函数是用来明确地放置任何列与它们的值。这方面的文档如下。

Signature: data.insert(loc, column, value, allow_duplicates=False) -> None
Docstring:
Insert column into DataFrame at specified location.

Raises a ValueError if `column` is already contained in the DataFrame,
unless `allow_duplicates` is set to True.

Parameters
----------
loc : int
    Insertion index. Must verify 0 <= loc <= len(columns).
column : str, number, or hashable object
    Label of the inserted column.
value : int, Series, or array-like
allow_duplicates : bool, optional
File:      c:\users\lenovo\anaconda3\lib\site-packages\pandas\core\frame.py
Type:      method

这个函数有一个非常简单的语法。

data.insert(loc, column, value, allow_duplicates = False)

解释一下。

  1. loc = 我们要插入列的数据框架的索引位置。
  2. column = 我们要插入的列的名称
  3. value = 该列所具有的所有值
  4. allow_duplicates = 这个属性是用来在数据框架中放置重复的列的。

使用dataframe.insert()的方法

有两种方法来使用这个函数。

  1. 直接调用该函数并给它所有的参数。
  2. 使用功能化的方法(建议)

1.直接调用dataframe.insert()函数

在这个例子中,我们将通过直接调用它在我们的数据框架中添加一个列。它是一个学生数据库,所以,我们将尝试在其中添加Marks 列。

代码。

mrk_list = [90.00, 60.06, 72.32, 78.9, 83.9] # creating a list of values for the Marks column
data.insert(3, 'Marks', mrk_list) # using the isnert function
data # calling the dataframe

输出。

标记列添加到数据框中

解释。

  1. 我们为新的**"Marks "**列创建一个名为 "mrk_list"的所有值的列表。它将作为参数的值。
  2. 然后我们用点-**". "**操作符调用insert()函数和我们的数据框架。然后我们在第三个索引中指定我们新列的位置。
  3. 我们给出该列的名称。然后,我们把值指定为mrk_list。通过这种方式,我们将学生的分数添加到数据集中。
  4. 注意:当以列表的形式传递数值时,确保不超过主数据框的索引值。

用于整体理解的代码

# importing the module
import pandas as pd

# creating a sample dataframe
data_dict = {'Name':['Ramesh', 'Suresh', 'Rajeev', 'Neha', 'Aditi'],  
                    'Roll_nos':[1, 2, 3, 4, 5], 
                    'Division':['A', 'B', 'C', 'D', 'E'] }

# storing it in a variable
data = pd.DataFrame(data_dict)

# retrieving the basic info
data.info()
data.describe()

# using the insert function
mrk_list = [90.00, 60.06, 72.32, 78.9, 83.9]
data.insert(3, 'Marks', mrk_list)
data

3.使用显式函数是一种更好的方法

我们可以根据自己的需要调用该函数,只需改变里面的参数。它将持有四个参数。

  1. 数据框架
  2. 列名
  3. 位置索引
  4. 价值

代码

def create_column(df = None, col_name = '', col_loc = 0, values = []):
    print('Creating and adding a new column')
    df.insert(col_loc, col_name, values)
    
    print('Column created and added!!!')
    
    return df.head() # returning the new dataset with the new columns


df = data # dataframe name
col_name = input('Enter the column name: ').strip()
col_loc = int(input('Ente the location where you want to insert the column: '))
values = ['March', 'April', 'June', 'May', 'Februray']

# calling the function with the values
create_column(df, col_name, col_loc, values)
        

输出。

**create_column()**函数和各自的参数输入

在数据框架的第2个索引处添加了连接月列

解释。

  1. 首先我们创建一个函数create_column()
  2. 它需要四个参数作为
    1. 数据框架
    2. 列名
    3. 列的位置
    4. values - 该列的输入值数组
  3. 在里面添加一条添加新列的信息。
  4. 然后,我们调用insert()函数,在里面给出所有这些参数。并返回我们新数据集的头部。
  5. 当这个过程结束后,我们打印一条消息:"列创建并添加!!"。

结语

在这里,我们要对这个话题进行总结。这个函数的使用是非常简单的。我们只需要知道它是如何工作的,然后我们就可以根据我们的要求来使用它。