Pandas更改列名的多個方面詳解

一、pandas設置列名

pandas中DataFrame數據結構默認使用0, 1, 2等數字作為列名,不便於直觀了解數據內容,因此需要設置列名。可以在創建DataFrame時使用columns參數指定列名,也可以通過columns屬性設置列名。

import pandas as pd

# 使用columns參數指定列名
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data, columns=['A', 'B'])
print(df)

# 使用columns屬性設置列名
df.columns = ['X', 'Y']
print(df)

二、pandas指定列名

pandas提供了rename()函數用於修改列名。可以通過字典、函數、列表等方式指定要修改的列名。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 通過字典指定要修改的列名
df = df.rename(columns={'A': 'X', 'B': 'Y'})
print(df)

# 通過函數指定要修改的列名
df = df.rename(columns=str.lower)
print(df)

# 通過列表指定要修改的列名
df.columns = ['a', 'b']
df = df.rename(columns={'a': 'X', 'b': 'Y'})
print(df)

三、如何修改列名pandas

如果要修改單個列名,可以直接使用列名做為Series的索引,然後賦值新的列名即可;如果要修改多個列名,則需要使用rename()函數。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 修改單個列名
df = df.rename(columns={'A': 'X'})
print(df)

# 修改多個列名
df.columns = ['X', 'Y']
print(df)

四、pandas篩選數據

修改列名後,需要重新對數據進行篩選。可以使用loc或者iloc函數進行篩選,也可以使用列名對應的Series對象篩選。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 使用loc或iloc篩選數據
df_new = df.loc[:, ['A']]
print(df_new)

# 使用列名對應的Series對象篩選數據
df_new = df['A']
print(df_new)

五、pandas列名

pandas的列名支持中文等非英文字符。可以在創建DataFrame時使用unicode_literals模塊中的字符串定義中文列名,也可以在設置列名時使用中文。但注意,為了便於使用,建議使用英文作為列名。

import pandas as pd
from future.utils import native_strings

# 使用unicode_literals模塊中的字符串定義中文列名
data = {native_strings('中文'): [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
print(df)

# 在設置列名時使用中文
df.columns = ['中文', 'B']
print(df)

六、pandas修改某一列的值

在DataFrame中,可以使用列名對應的Series對象修改某一列的值。可以使用loc或者iloc函數篩選出要修改的數據行,然後對該行數據對應的Series對象賦新值即可。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 修改某一列的值
df.loc[:, ['A']] = [4, 5, 6]
print(df)

七、pandas改變指定列名

修改指定列名可以使用rename()函數,通過字典將舊列名映射到新列名即可。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 改變指定列名
df = df.rename(columns={'A': 'X'})
print(df)

八、pandas改變列的順序

改變列的順序可以使用reindex()函數,輸入要調整的列名列表即可。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 改變列的順序
df = df.reindex(columns=['B', 'A'])
print(df)

九、pandas根據一列修改另一列

根據一列的信息,可以修改另一列的值。可以使用apply()函數,傳入一個函數,該函數以一列的值為輸入,返回修改後的值。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 根據一列修改另一列
df['C'] = df['B'].apply(lambda x: x+2)
print(df)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/198688.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:27
下一篇 2024-12-04 10:27

相關推薦

發表回復

登錄後才能評論