Pandas 从字典中添加新列到数据帧

Pandas 从字典中添加新列到数据帧

在本文中,我们将介绍在Python中使用Pandas库从字典中添加新列到数据帧的方法。

阅读更多:Pandas 教程

准备工作

首先,我们需要导入Pandas库,并创建一个数据帧。这里我们使用一个包含学生姓名和分数的字典来创建一个数据帧。

import pandas as pd

data = {'姓名': ['小红', '小明', '小李', '小张'],
        '分数': [85, 92, 78, 67]}
df = pd.DataFrame(data)
print(df)
Python

输出结果:

  姓名  分数
0  小红  85
1  小明  92
2  小李  78
3  小张  67
Python

方法一:使用Pandas.Series

下面我们将使用Pandas.Series将一个新的列添加到我们的数据帧中。

首先,我们需要创建一个包含所需值的Pandas.Series对象,然后使用该对象的名称将其添加到数据帧中。

grades = pd.Series(['A', 'A', 'B', 'C'], name='等级')
df['等级'] = grades
print(df)
Python

输出结果:

  姓名  分数 等级
0  小红  85  A
1  小明  92  A
2  小李  78  B
3  小张  67  C
Python

方法二:使用字典

在Python中,您可以使用字典来添加新列到现有的Pandas数据帧中。这需要两个步骤:

  • 创建一个包含新列数据的字典。
  • 使用数据帧的“[]”运算符将字典添加到数据帧。
gender = {'小红': '女', '小明': '男', '小李': '女', '小张': '男'}
df['性别'] = gender.values()
print(df)
Python

输出结果:

  姓名  分数 等级 性别
0  小红  85  A  
1  小明  92  A  
2  小李  78  B  
3  小张  67  C  
Python

方法三:使用apply()函数

您还可以使用apply()函数为现有数据帧添加新列。该函数可以接受一个函数作为参数,该函数将应用于数据帧中的每个行或列,然后返回结果。

def get_grade(score):
    if score >= 90:
        return 'A'
    elif score >= 80:
        return 'B'
    elif score >= 70:
        return 'C'
    elif score >= 60:
        return 'D'
    else:
        return 'F'

df['等级2'] = df['分数'].apply(get_grade)
print(df)
Python

输出结果:

  姓名  分数 等级 性别 等级2
0  小红  85  A     B
1  小明  92  A     A
2  小李  78  B     C
3  小张  67  C     D
Python

总结

在本文中,我们介绍了三种使用Pandas库将新列添加到数据帧中的方法。第一种方法使用Pandas.Series,第二种方法使用字典,第三种方法使用apply()函数。您可以根据您的需求选择最适合您的方法。希望这篇文章对您有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册