在讲解如何对一个Dataframe 进行增 操作前,我们首先创造一个Dataframe (代码运行环境:jupyter—python3.8):
import pandas as pd
import numpy
data = pd.DataFrame(
np.arange(15).reshape(5, 3), index=[1, 2, 3, 4, 5], columns=["a", "b", "c"]
)
data
一、增加一列
方法1:列索引法
我们只需要通过列索引即可“无中生有”:
data["d"] = 9
data
前:后:
可以看到,通过对不存在的列索引d 进行赋值,我们成功添加了新列,这里系统默认自动对每一行都添加了9
方法2:insert()方法
data.insert(1, "e", [1, 2, 3, 4, 5])
data
原来的数据:使用insert()方法后的:
上述代码实现的功能是:在原始数据的第2 列前添加一列,其列索引起名叫做e ,其列值为:1,2,3,4,5 ,假如我们现在要在第1 列前添加一列f ,其值为:9,9,9,9,9 ,代码可改为:
data.insert(0, "f", 9)
data
前:后:
二、增加一行
方法1:标签索引loc法
data.loc["c"] = 1
data
前:后:
可以看到,我们通过loc 方法添加了一个行索引为c 的数据
方法2:append方法
dic = {"f": 1, "a": 2, "b": 3, "c": 4, "d": 5}
data = data.append(dic, ignore_index=True)
data
前:后:
我们首先定义了一个字典dic ,其key 就是Dataframe 的列索引,再调用append 方法添加这行数据,但是有三点需要着重提一下:
ignore_index=True 这句话必须加上,因为dic 本身并没有体现行索引append 方法会返回一个新的Dataframe ,但并不会影响原先的Dataframe - 添加
ignore_index=True 语句后,返回的新的Dataframe 的行索引会默认自动重新排列
笔者更推荐大家使用方法1。
|