Dataframe中rename()“未生效”的原因
在做題過程中,使用以下代碼存在一個問題:
import pandas as pd
A = pd.DataFrame( {0:[1,2,3], 1:[4,5,6]} )
print(A)
"""
得到輸出:
0 1
0 1 4
1 2 5
2 3 6
"""
A.rename(columns = {0:'A', 1:'B'})
print(A)
"""
輸出仍為:
0 1
0 1 4
1 2 5
2 3 6
"""
這是因為rename()函數默認情況下並不在原始數據上進行更改,它會返回一個修改后標簽的副本(當inplace參數為默認的False時):
B = A.rename(columns = {0:'A', 1:'B'})
print(B)
"""
輸出為:
A B
0 1 4
1 2 5
2 3 6
"""
若要在原始數據上進行修改,可以將rename()中的inplace參數設為True
A.rename(columns = {0:'A', 1:'B'}, inplace=True)
print(A)
"""
輸出:
A B
0 1 4
1 2 5
2 3 6
"""
關於此函數,詳情可看:官方文檔