如何將標題行新增到 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