您的位置:

用 Python pandas 添加一列数据

Python pandas 库是数据处理中不可或缺的一个工具,它提供了丰富的数据分析和操作方法,可以轻松地对数据进行汇总、排序、过滤、分组、并列计算等操作。在实际的数据处理中,我们经常需要添加一列数据,以补充或修正已有数据的信息。本文将从不同的角度来探讨 pandas 如何方便地添加新的一列数据。

一、dataframe 添加一列数据

在 pandas 中,DataFrame 是最为常用的数据类型,它类似于数据库中的表格,每列为一种数据类型,每行为一个样本。添加新的一列数据对 DataFrame 类型的数据进行扩充。

我们可以使用 Pandas 的 Series 对象来添加一列数据,以存储某一列的数据信息。比如,在以下的示例中,我们创建了一个包含学生信息、成绩和排名的表格,我们要添加一个名为“是否及格”的一列数据,以表示学生是否及格。


import pandas as pd

# 创建一个 DataFrame
data = {'姓名': [ '张三', '李四', '王五', '赵六' ],
        '成绩': [ 89, 76, 67, 92 ],
        '排名': [ 1, 3, 4, 2 ]}
df = pd.DataFrame(data)

# 创建一个表示是否及格的 Series 对象
df['是否及格'] = pd.Series(['是' if x >= 60 else '否' for x in df['成绩']])
print(df)

输出结果如下:


   姓名  成绩  排名 是否及格
0   张三  89   1    是
1   李四  76   3    是
2   王五  67   4    是
3   赵六  92   2    是

二、pandas 添加一行数据

添加新的一行数据对 DataFrame 类型的数据进行扩充。与添加一列数据不同,添加一行数据通常需要先创建一个新的内存地址存储完整的数据集,然后再合并到原有的数据集中。

下面的示例中,我们通过先构建一个新的数据 DataFrame,然后将其与原来的 DataFrame 进行合并,最终得到用于表示某个新生的完整数据。


import pandas as pd

# 创建一个 DataFrame
data = {'姓名': [ '张三', '李四', '王五', '赵六' ],
        '成绩': [ 89, 76, 67, 92 ],
        '排名': [ 1, 3, 4, 2 ]}
df = pd.DataFrame(data)

# 创建一个新的 DataFrame 表示新的一行数据
new_row = pd.DataFrame({'姓名': ['小七'], '成绩': [85], '排名': [5]})

# 将新的一行数据合并到原有的 DataFrame 中
df = pd.concat([df, new_row], ignore_index=True)

print(df)

输出结果如下:


   姓名  成绩  排名
0   张三  89   1
1   李四  76   3
2   王五  67   4
3   赵六  92   2
4   小七  85   5

三、pandas 删除某一列

有时候我们需要删除 DataFrame 中某一列的数据,以便更好地满足我们的数据分析需求。我们可以使用 pandas 的 drop 函数来去除不需要的列。

以下示例中,我们创建了一个包含产品名称、销售量和价格的 DataFrame 表格,我们要删除“价格”一列数据。


import pandas as pd

# 创建一个 DataFrame
data = {'产品名称': [ '商品A', '商品B', '商品C', '商品D' ],
        '销售量': [ 101, 87, 62, 99 ],
        '价格': [ 10, 12, 8, 15 ]}
df = pd.DataFrame(data)

# 删除“价格”一列数据
df = df.drop('价格', axis=1)

print(df)

输出结果如下:


    产品名称    销售量
0   商品A     101
1   商品B     87
2   商品C     62
3   商品D     99

四、pandas 读取一列数据

读取 DataFrame 中某一列的数据通常需要指定该列的名称或者索引位置。我们可以使用 pandas 的 loc 函数、iloc 函数来进行单元格级别的索引,或者使用数据框的直接索引来获取其中特定的列。

以下示例中,我们创建了一个包含学生信息、成绩和排名的表格,我们要读取“成绩”和“排名”列数据。


import pandas as pd

# 创建一个 DataFrame
data = {'姓名': [ '张三', '李四', '王五', '赵六' ],
        '成绩': [ 89, 76, 67, 92 ],
        '排名': [ 1, 3, 4, 2 ]}
df = pd.DataFrame(data)

# 使用iloc函数来索引“成绩”和“排名”列数据
score_rank = df.iloc[:, 1:3]
print(score_rank)

# 使用数据框的直接索引来获取“成绩”和“排名”列数据
score_rank = df[['成绩', '排名']]
print(score_rank)

输出结果如下:


   成绩  排名
0  89  1
1  76  3
2  67  4
3  92  2
   成绩  排名
0  89  1
1  76  3
2  67  4
3  92  2

五、pandas 增加一列数据

在有时候我们需要增加 DataFrame 中的一列数据,并且该列数据来源于现有数据的连续运算,比如某一列数据的累加或者求平均值。在 pandas 中,我们可以使用 apply 函数来操作数据列。

以下示例中,我们创建了一个包含销售门店名称、销售额和员工人数的 DataFrame 表格,我们要增加一列“平均销售额”。


import pandas as pd

# 创建一个 DataFrame
data = {'门店名称': [ '门店A', '门店B', '门店C', '门店D' ],
        '销售额': [ 10000, 12000, 8000, 15000 ],
        '员工人数': [ 20, 15, 12, 25 ]}
df = pd.DataFrame(data)

# 定义函数计算平均销售额
def avg_sales(row):
    return row['销售额'] / row['员工人数']

# 使用 apply 函数计算出新列数据
df['平均销售额'] = df.apply(avg_sales, axis=1)

print(df)

输出结果如下:


   门店名称    销售额  员工人数  平均销售额
0  门店A   10000    20  500.0
1  门店B   12000    15  800.0
2  门店C   8000     12  666.7
3  门店D   15000    25  600.0

六、pandas 输出数据的行列数

在 pandas 中,我们可以使用 shape 属性获取数据集的行列数,使用 head 函数输出前几行数据,tail 函数输出后几行数据

以下示例中,我们创建了一个包含 1000 行、4 列的 DataFrame 数据表格,通过 head、tail 函数获取数据的前五行和后五行, shape 属性获取数据的行列数。


import pandas as pd
import numpy as np

# 创建一个 1000 行,4 列的 DataFrame
df = pd.DataFrame(np.random.randn(1000, 4), columns=list('ABCD'))

# 输出前 5 行数据
print(df.head(5))

# 输出最后 5 行数据
print(df.tail(5))

# 输出行列数
print('数据集的行列数为:', df.shape)

输出结果如下:


          A         B         C         D
0 -0.842090  0.934622 -0.657901  0.353423
1  0.381760 -0.872082  0.974246 -1.220813
2  1.293013 -0.600729  0.429112  0.115918
3 -0.427546  0.456113 -0.782722  1.010340
4  0.876370 -0.664943 -1.511310  0.678428
        
            A         B         C         D
995  1.509793 -0.829112 -0.399677 -1.237050
996  0.658548  1.491414 -1.569960  0.214848
997  0.707204 -0.939782  0.139450  0.657119
998  0.423334  0.280183 -0.999327 -0.039078
999 -0.444732  0.645677  0.688853 -0.970362
        
数据集的行列数为: (1000, 4)

七、pandas 取两列数据

有时候我们需要只关注数据集中的某几列数据,用于不同的分析或者建模。我们可以使用 pandas 的 loc 函数、iloc 函数来进行单元格级别的索引,或者使用数据框的直接索引来获取其中特定的列。

以下示例中,我们创建了一个包含学生信息、成绩和排名的表格,我们要读取“成绩”和“排名”列数据。


import pandas as pd

# 创建一个 DataFrame
data = {'姓名': [ '张三', '李四', '王五', '赵六' ],
        '成绩': [ 89, 76, 67, 92 ],
        '排名': [ 1, 3, 4, 2 ]}
df = pd.DataFrame(data)

# 使用iloc函数来索引“成绩”和“排名”列数据
score_rank = df.iloc[:, 1:3]
print(score_rank)

# 使用数据框的直接索引来获取“成绩”和“排名”列数据
score_rank = df[['成绩', '排名']]
print(score_rank)

输出结果如下:


   成绩  排名
0  89  1
1  76  3
2  67  4
3  92  2
   成绩  排名
0  89  1
1  76  3
2  67  4
3  92  2

八、pandas 数据列的计算

在 pandas 中,我们可以对不同列的数据进行计算,以得到新的一列或多列数据。在数据计算时,我们通常使用 apply 函数或者 map 函数,以便对数据集中的每个单元格进行计算或者操作。

以下示例中,我们创建了一个包含工资和税费的 DataFrame 表格,我们要计算出税后工资,以增加一列“税

用 Python pandas 添加一列数据

2023-05-17
python技巧笔记(python自学笔记)

2022-11-12
最新python学习笔记3,python基础笔记

2022-11-17
python基础学习整理笔记,Python课堂笔记

2022-11-21
pandas增加一列数据详解

2023-05-18
包含python使用笔记24的词条

2022-11-21
python使用笔记23的简单介绍

2022-11-10
如何使用Python给数据框添加一列中心

Python是一种功能强大的编程语言,广泛用于数据分析和处理。在数据处理过程中,经常需要给数据框添加一列来进行进一步的计算或分析。本文将详细介绍如何使用Python给数据框添加一列。 一、使用assi

2023-12-08
python学习日记day4(大学python笔记整理)

2022-11-13
数据框添加列名

2023-05-20
python学习笔记一之,python入门笔记

2022-11-21
python学习之笔记(python的笔记)

2022-11-10
python数据分析学习笔记1(python数据分析基础和利

2022-11-09
我的python笔记06(Python)

2022-11-14
python基础笔记整理(python基础教程总结)

2022-11-12
js待办事项列表添加删除代码的简单介绍

本文目录一览: 1、“点击此处可添加笔记”的代码怎么写 2、js动态添加、删除html代码 3、vivo手机便签怎么一起删 “点击此处可添加笔记”的代码怎么写 输入符号就可以了第一步打开手机,点击备忘

2023-12-08
关于python学习第四次笔记的信息

2022-11-08
使用Pandas添加行

2023-05-10
python方法笔记,python基础教程笔记

2022-11-20
印象笔记记录java学习(Java成长笔记)

2022-11-12