如何將標題行新增到 Pandas DataFrame
Asad Riaz
2023年1月30日
- 通過直接在 dataframe 方法中傳遞標題行來新增標題行
-
使用
dataframe.columns
新增標題行 - 新增標頭而不替換當前標頭
-
讀取 csv 檔案時,將
header
行新增到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"])