如何将标题行添加到 Pandas DataFrame

Asad Riaz 2023年1月30日 2020年3月28日
  1. 通过直接在 dataframe 方法中传递标题行来添加标题行
  2.  使用 dataframe.columns 添加标题行
  3.  添加标头而不替换当前标头
  4.  读取 csv 文件时,将 header 行添加到 DataFrame
如何将标题行添加到 Pandas DataFrame

我们将介绍在 pandas 的 dataframe 中添加标题行的方法,以及直接在 dataframe 中传递 names 或通过将列表中的列名直接分配给 dataframe.columns 方法的选项。

我们还将介绍 Pandas 的 DataFrame 添加标头,而不替换当前标头。换句话说,我们将当前标头向下移动,并将其添加到 DataFrame 中作为另一条记录。

我们还将看一下在读取 csv 文件时如何向 pandas.dataframe 添加标题行的例子。

通过直接在 dataframe 方法中传递标题行来添加标题行

我们将使用 columns 参数将 header 直接传递给 DataFrame

考虑以下代码:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(
    data=np.random.randint(
        0, 10, (6,4)),
    columns =["a", "b", "c", "d"])
print(df)

输出:

   a  b  c  d
0  4  4  4  0
1  8  1  2  5
2  3  0  4  3
3  3  7  2  4
4  8  3  1  8
5  6  7  5  9

 使用 dataframe.columns 添加标题行

我们还可以使用 dataframe.columns 将标题行添加到 DataFrame 中。

考虑以下代码:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(
    data=np.random.randint(
        0, 10, (6,4)))
df.columns=["a", "b", "c", "d"]
print(df)

输出:

   a  b  c  d
0  5  2  6  7
1  4  5  9  0
2  8  3  0  4
3  6  3  1  1
4  9  3  4  8
5  7  5  0  6

 添加标头而不替换当前标头

另一种选择是将标题行添加为列索引的附加级别,以使其成为 MultiIndex。当我们需要为列增加一层信息时,此方法很有用。

考虑以下代码:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(
    data=np.random.randint(
        0, 10, (6,4)),
    columns=["a", "b", "c", "d"])
df.columns = pd.MultiIndex.from_tuples(
    zip(['A', 'B','C', 'D'], 
        df.columns))
print(df)

输出:

   A  B  C  D
   a  b  c  d
0  2  6  4  6
1  5  0  5  1
2  9  6  6  1
3  8  9  7  4
4  6  5  6  6
5  3  9  1  5

 读取 csv 文件时,将 header 行添加到 DataFrame

我们可以直接在 read_csv 中使用 names,或者如果文件没有标题,可以显式设置 header = None

考虑以下代码:

# python 3.x
import pandas as pd
import numpy as np
df = pd.Cov = pd.read_csv(
    "path/to/file.csv", 
     sep='\t', 
     names=["a", "b", "c", "d"])

相关文章 - Pandas DataFrame