Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.insert方法的使用。

DataFrame.insert(self, loc, column, value, allow_duplicates=False)      [source]

将列插入到DataFrame中的指定位置。

引发一个ValueError如果列已经包含在DataFrame,除非allow_duplicates设置为True

参数

loc : int

插入索引,必须验证0 <= loc <= len(columns)

column : 字符串,数字或hashable对象

插入列的标签

value : int,Series或类似数组的值

allow_duplicates : 布尔值,可选

例子

可以在任何位置添加一个列,而不仅仅是在结尾处。它还提供了用于插入列值的不同选项。

import pandas as pd 
# 定义一个包含学生数据的字典
data = {'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj'], 
        'Height': [5.1, 6.2, 5.1, 5.2], 
        'Qualification': ['Msc', 'MA', 'Msc', 'Msc']} 
# 将字典转换为DataFrame
df = pd.DataFrame(data) 
# 使用datafame .insert()添加一个列
df.insert(2, "Age", [21, 23, 24, 21], True) 

插入具有静态值的列:

import pandas as pd 
# 读取csv文件
data = pd.read_csv("pokemon.csv") 
# displying  dataframe - Output 1 
data.head() 
# 在DataFrame中插入具有静态值的列
data.insert(2, "Team", "Any") 
# displaying data frame again - Output 2 
data.head() 

每行传递不同的series:

import pandas as pd 
#创建一个空白的 series 
Type_new = pd.Series([]) 
# 读取csv文件
data = pd.read_csv("pokemon.csv") 
# 运行一个for循环并将一些值赋给series
for i in range(len(data)): 
    if data["Type"][i] == "Grass": 
        Type_new[i]="Green"
    elif data["Type"][i] == "Fire": 
        Type_new[i]="Orange"
    elif data["Type"][i] == "Water": 
        Type_new[i]="Blue"
    else: 
        Type_new[i]= data["Type"][i] 
# 插入具有上述列表值的新列
data.insert(2, "Type New", Type_new)