Python pandas.DataFrame.insert函数方法的使用

pandas.DataFrame.insert 函数用于在 DataFrame 的指定位置插入新的数据列。这个函数非常有用,特别是在需要动态修改数据结构的情况下。本文主要介绍一下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 : intSeries或类似数组的值

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) 

1)插入具有静态值的列

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() 

2)每行传递不同的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) 

3)插入列并使用计算值

import pandas as pd

# 创建一个初始 DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

print("原始 DataFrame:")
print(df)

# 使用 df.insert 方法插入计算列 'E'
df.insert(3, 'E', df['A'] + df['C'])

print("\n插入计算列后的 DataFrame:")
print(df)

推荐阅读
cjavapy编程之路首页