Python:Pandas中Dataframe的“增”操作

在讲解如何对一个Dataframe进行操作前,我们首先创造一个Dataframe(代码运行环境:jupyter—python3.8):

import pandas as pd
import numpy

# 创建一个Dataframe
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"] = [1,2,3,4,5]
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"] = [1,2,3,4,5]
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方法添加这行数据,但是有三点需要着重提一下:

  1. ignore_index=True这句话必须加上,因为dic本身并没有体现行索引
  2. append方法会返回一个新的Dataframe,但并不会影响原先的Dataframe
  3. 添加ignore_index=True语句后,返回的新的Dataframe的行索引会默认自动重新排列

笔者更推荐大家使用方法1。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了。关于PandasDataFrame对象的使用,可以通过以下方式来创建: ```python import pandas as pd # 创建一个DataFrame对象 df = pd.DataFrame({ 'name': ['Tom', 'Jerry', 'Mickey'], 'age': [18, 20, 22], 'gender': ['M', 'M', 'M'] }) # 打印DataFrame对象 print(df) ``` 上述代码,我们首先导入了Pandas库,并使用pd.DataFrame()函数创建了一个DataFrame对象。在创建时,我们传入了一个字典类型的数据,其字典的键为名,字典的值为该的数据表。最后,我们通过print()函数打印了该DataFrame对象。 除了创建DataFrame对象,我们还可以对其进行一些基本操作,例如获取某一或多的数据: ```python # 获取某一的数据 name = df['name'] print(name) # 获取多的数据 name_age = df[['name', 'age']] print(name_age) ``` 上述代码,我们通过括号[]来获取DataFrame对象的某一或多数据,并将其赋值给一个变量。需要注意的是,当我们获取多数据时,需要使用双重括号[[]]。 除此之外,我们还可以对DataFrame对象进行一些统计计算,例如计算某一的平均值、最大值、最小值等: ```python # 计算年龄的平均值 age_mean = df['age'].mean() print(age_mean) # 计算年龄的最大值 age_max = df['age'].max() print(age_max) # 计算年龄的最小值 age_min = df['age'].min() print(age_min) ``` 上述代码,我们通过调用DataFrame对象的mean()、max()、min()等方法,对其某一数据进行了统计计算,并将结果赋值给一个变量。 这只是PandasDataFrame对象的一些基本用法,还有很多其他的操作和功能。如果你想深入了解,可以查看Pandas官方文档或相关书籍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值