DataFrame.insert(self, loc, column, value, allow_duplicates=False) [source]
将列插入到DataFrame
中的指定位置。
引发一个ValueErro
r如果列已经包含在DataFrame
,除非allow_duplicates
设置为True
。
参数: | loc : 插入索引,必须验证 column : 字符串,数字或 插入列的标签 value : 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)