如何將標題行新增到 Pandas DataFrame

Asad Riaz 2023年1月30日 Pandas Pandas DataFrame
  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"])
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe

相關文章 - Pandas DataFrame