📅  最后修改于: 2023-12-03 15:25:16.623000             🧑  作者: Mango
在 Pandas 中,数据表格被称为数据框(DataFrame)。通常我们会从外部文件(如 CSV文件)或数据库中读取数据,并将其转化为 Pandas 的数据框对象,以方便数据的处理和操作。但在某些情况下,我们需要手动创建一个新的数据框对象并添加列名。在本文中,我们将介绍如何将列名添加到 Pandas 中的数据框。
首先,我们来了解一下 Pandas 中数据框的概念。我们可以像下面这样来构造一个简单的数据框:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'gender': ['F', 'M', 'F', 'M'],
'height': [165, 180, 155, 175]}
df = pd.DataFrame(data)
print(df)
输出结果为:
name age gender height
0 Alice 25 F 165
1 Bob 32 M 180
2 Charlie 18 F 155
3 David 47 M 175
可以看到,我们通过一个字典来定义数据框的每一列(即每一个 key 对应一个列名,每一个 value 对应该列的数据)。数据框的每一行都是由每一列的对应项组成的。
在现实生活中,我们通常不会手动创建数据框,而是通过读取外部数据源。这里展示一下从 CSV 文件中读取数据的方法:
data = pd.read_csv('/path/to/file.csv')
这里我们假设 CSV 文件的路径为 '/path/to/file.csv'。数据框的列名将会自动从文件中的第一行读取。
如果您手动创建一个新的数据框对象,那么您需要显式地指定数据框的列名。这可以通过如下方式完成:
df = pd.DataFrame(columns=['col1', 'col2', 'col3'])
这里的 columns
参数接受一个字符串列表,每个字符串表示一个列名。上面这个代码将创建一个空的数据框,包含三个列名为 col1
、col2
和 col3
的空列。
如果您的数据框已经有了一些列,而您需要添加更多列名,则可以通过如下方式来添加:
df.columns = df.columns.tolist() + ['new_col1', 'new_col2']
这里的 tolist()
方法用于将原有的列名数组转换为列表形式。我们将列表和新的列名字符串数组进行合并,并通过赋值给 df.columns
的方式来覆盖原有的列名。这个操作不会影响原有的数据,只是重新给列做了标记。
如果您的数据框已经有了数据,并且您需要给所有列都重新添加列名,则可以通过如下方式来覆盖列名:
df.columns = ['new_col1', 'new_col2', ...]
这里我们将会覆盖所有的列名。这种方法不仅会命名列,而且会修改原有数据的列。
在本文中,我们介绍了如何手动创建一个新的 Pandas 数据框并添加列名。如果您的数据源中已经有了列名,则不需要再次显式地指定它们。如果您需要给所有列都重新添加列名,可以通过直接覆盖 df.columns
来实现。当您需要给数据框添加新的列名时,可以通过列表拼接的方式将原有的列名列表和新的列名列表合并起来。