一、原列名不變
在某些情況下,我們不希望修改數據框的列名,只是想添加一個新列。
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屬性修改了數據框的列名。
原創文章,作者:EAMX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133922.html