您的位置:

数据框添加列名

一、原列名不变

在某些情况下,我们不希望修改数据框的列名,只是想添加一个新列。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 添加新列
df['票房'] = [21.3, 60.5, 11.1]

# 输出数据框
print(df)

上述代码中,我们创建了一个数据框,并用df['票房']来添加名为“票房”的新列。

二、数据框添加列索引

有时候我们希望新添加的列有一个索引,也就是说希望用户能够通过列索引来获取该列的值。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 添加新列(设置列索引和列名)
df.loc[:, ('票房', '百万美元')] = [21.3, 60.5, 11.1]

# 输出数据框
print(df)

上述代码中,我们用df.loc[:, ('票房', '百万美元')]来设置一个列索引和列名,其中“票房”是列名,而“百万美元”是列索引。

三、Python数据框添加列名

Python的pandas库提供了一些方法来为数据框添加列名:


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 用rename方法为列名重命名
df = df.rename(columns={'电影名称': 'Name', '上映年份': 'Year'})

# 输出数据框
print(df)

上述代码中,我们用rename()方法为列名重命名,将“电影名称”命名为“Name”,将“上映年份”命名为“Year”。

四、为数据框添加列名

有时候我们希望数据框新添加的列有一个明确的列名,以便于用户进行理解和查看。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 创建一个新列并添加列名
df['评分'] = [7.8, 7.9, 9.0]
df.columns = ['Name', 'Year', 'BoxOffice', 'Score']

# 输出数据框
print(df)

上述代码中,我们通过df.columns来创建一个新的列名,同时也可以通过df['新列名']来为新列命名。

五、数据框添加一列数据

添加新列的最基本方法就是直接将一个列表赋值给数据框的某一列。但是,有时候我们希望新添加的列有一定的规律,比如从1开始一直到N。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 添加新列
N = len(df)
df['ID'] = list(range(1, N + 1))  # 从1开始的计数

# 输出数据框
print(df)

上述代码中,我们用了Python内置的range()方法来生成一列从1开始的从N到N的数据,并将其作为新列添加到数据框中。

六、数据框添加一列

有时候我们希望添加一列,但是新列的值是由其他列计算得出的,这时候就需要用到apply()方法。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003],
        '票房': [21.3, 60.5, 11.1]}
df = pd.DataFrame(data)

# 添加新列(计算票房平均值)
df['平均票房'] = df['票房'].apply(lambda x: round(x / 10, 2))

# 输出数据框
print(df)

上述代码中,我们用apply()方法来计算新列“平均票房”的值,其值是票房列的每个元素除以10四舍五入保留两位小数而来的。

七、数据框修改列名

修改列名的最基本方法是直接将新的列名列表指定给数据框的 columns 属性。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 重命名列名
df.columns = ['Name', 'Year']

# 输出数据框
print(df)

上述代码中,我们直接将新的列名列表指定给了数据框的 columns 属性。

八、数据框添加一行

在数据框中添加一行最基本的方法就是将一行数据作为一个序列传递给数据框的 append() 方法。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 添加一行数据
df = df.append({'电影名称': '阿凡达', '上映年份': 2009}, ignore_index=True)

# 输出数据框
print(df)

上述代码中,我们用append()方法来添加新行、并设置ignore_index=True保证新添加的行的索引为整型。

九、数据框输出列名

输出列名的方法有很多,例如使用.columns属性或df.info()方法。


import pandas as pd

# 创建一个数据框
data = {'电影名称': ['泰坦尼克号', '少年派的奇幻漂流', '指环王三部曲'],
        '上映年份': [1997, 2012, 2003]}
df = pd.DataFrame(data)

# 通过.columns属性输出列名
print(df.columns)

# 通过df.info()输出列名
df.info()

上述代码中,我们分别用.columns属性和df.info()方法来输出数据框的列名。

十、数据框设置列名称

如果数据框中已经有了列名,我们也可以直接修改列名。


import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})

# 修改列名
df.columns = ['new_col1', 'new_col2']

# 输出数据框
print(df)

上述代码中,我们直接通过columns属性修改了数据框的列名。