如何向Pandas Dataframe添加标题行?

如何向Pandas Dataframe添加标题行?

Pandas是Python中非常流行的数据处理和操作库,经常用于数据分析和预处理。 Pandas库具有称为Pandas dataframe的强大数据结构,用于存储任何类型的二维数据。 在本文中,我们将了解将标题行(或简单的列名称)添加到Pandas dataframe的各种方法。

注意 -本文中的代码在jupyter笔记本上进行了测试。

我们将看到5种不同的添加标题行的方法-

  • 在使用字典创建数据框时添加标题行

  • 在使用列表的列表创建数据框时添加标题行

  • 在创建数据框后添加标题行

  • 在从CSV读取文件时添加标题行

  • 使用set_axis方法添加标题行

让我们从导入Pandas开始

import pandas as pd
Python

更多Pandas相关文章,请阅读:Pandas 教程

方法1:使用字典创建数据框时

示例

#在使用字典创建数据框时添加标题行
data = {'course': ['数学', '英语', '历史', '科学', '物理'],'instructor': ['约翰·史密斯','萨拉·约翰逊','迈克·布朗','卡伦·李','戴维·金'],'batch_size': [43, 25, 19, 51, 48]}
df1 = pd.DataFrame(data)
df1
Python

输出

  course      instructor    batch_size
0 数学         约翰·史密斯        43
1 英语         莎拉·约翰逊        25
2 历史         迈克·布朗         19
3 科学         卡伦·李          51
4 物理         戴维·金          48
Python

在上面的代码中,我们通过字典初始化数据框的虚拟数据。key-value对分别表示列名和列数据。Pandas会自动读取这个字典并能够生成列以及标题行。

方法2:使用列表的列表创建数据框时

示例

#在使用list of list创建数据框时添加标题行
data = [['苹果','红色',5],['香蕉','黄色',12]]
columns = ['水果','颜色','数量']
df2 = pd.DataFrame(data,columns = columns)
df2
Python

输出

  水果    颜色       数量
0 苹果    红色        5
1 香蕉    黄色        12
Python

在这种方法中,我们有一个列表的列表,其中每个子列表存储数据框行的信息。我们制作一个列名列表,并在初始化数据框时将其传递给pd.DataFrame方法。

方法3:在创建数据框后

示例

#在创建数据框后添加标题行
data = [['apple','red',5],['banana','yellow',12]]
columns = ['fruit','color','quantity']
df3 = pd.DataFrame(data)
df3.columns = columns
df3
Python

输出

 fruit    color   quantity
0   apple     red     5
1   banana    yellow 12
Python

在上面的代码中,我们首先初始化一个没有标题行的数据框。然后,我们初始化一个要使用的列名列表,并使用pd.DataFrame.columns属性设置已定义的Pandas数据框的标题行。

方法4:从CSV文件读取文件时

示例

在尝试使用Pandas读取CSV文件时,它会自动将第一行视为列名。 然而,可能在我们的数据集中没有列名,如下面的示例所示。假设数据集存储为’course_data.csv’。

#不正确的标题行
df4 = pd.read_csv('course_data.csv')
df4
Python

输出

   Math        John Smith     43
0 English   Sarah Johnson     25
1 History      Mike Brown     19
2 Science       Karen Lee     51
3 Physics       David Kim     48
Python

输出结果显示Pandas将数据样本解释为标题行。为了解决这个问题,我们将通过“names”参数传递一个标题行名称的列表来指定列名。

例子

# 从CSV中读取文件时添加标题行
columns = ['course', 'instructor', 'batch_size']
df4 = pd.read_csv('course_data.csv', names=columns)
df4
Python

输出

  course      instructor    batch_size
0 Math         John Smith      43
1 English   Sarah Johnson      25
2 History      Mike Brown      19
3 Science       Karen Lee      51
4 Physics       David Kim      48
Python

如上所述,Pandas不再将第一个数据样本读入为标题行!

方法5:使用set_axis方法

例子

我们已经看到了如何在第二种方法中向现有数据框添加标题行。现在,我们将使用pd.DataFrame.set_axis方法实现相同的目的。

# 在使用set_axis创建数据框之后添加标题行
data = [['dog', 'brown', 4],
['cat', 'white', 4],
['chicken', 'white', 2]]
df5 = pd.DataFrame(data)
columns = ['animal', 'color', 'num_legs']
df5.set_axis(columns, axis=1, inplace=True)
df5
Python

输出

   animal   color    num_legs
0   dog     brown     4
1   cat     white     4
2  chicken  white     2
Python

在这里,我们首先使用上述数据初始化一个没有任何标题行的数据框。然后,我们使用set_axis方法添加标题行。我们传递axis = 1来指定我们正在设置列名。我们还将标志“inplace”设置为True以进行原地操作。

注意 − 设置axis = 0将设置行名称而不是列名称,并且还可能引发错误,因为通常行数比列数多。

结论

本文教导我们如何在Pandas中为数据框添加标头。我们看到了5种不同的方法,可以用于各种不同的应用和项目中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程