簡體   English   中英

將 dataframe 的列從 0 重命名為字符串(重命名無效)

[英]Rename column of dataframe from 0 to a string (rename not working)

我有一個 dataframe,如下所示

指數 0 特征2 特點3
0 郵政編碼 0.10 z
1個 緯度 0.56 z
2個 經度 0.39 z

我使用以下代碼將第三列名稱 0 更改為其他名稱,但是當我再次輸入 output 和 dataframe 時,什么都沒有改變,該列仍然是 0。

df.rename(index = {0: 'feature_rank'})
# Or alternatively
df.rename(column = {0: 'feature_rank'})

我還想知道是否可以將第二列的名稱更改為其他名稱。 重命名再次不適用於“索引”列

DataFrame.rename()返回一個新的 dataframe,其中的列已重命名(這在進行方法鏈接時很有用)。

你想通過這樣做來保持結果:

df = df.rename(column={0: 'feature_rank'})

或者,它有一個參數(稱為inplace ),允許您就地執行操作(因此您不需要重新分配):

df.rename(column={0: 'feature_rank'}, inplace=True)

如果你想重命名多列,你可以將它們添加到字典中,例如:

df = df.rename(column={0: 'feature_rank', 'feature2': 'my_new_name_for_feature2'})

筆記

關於使用df.rename(index=...)df.rename(columns=...)那些會有不同的結果。 設置index參數會重命名行,設置columns參數則會重命名列。

例如:

df = df.rename(column={0: 'feature_rank'})
指數 feature_rank 特征2 特點3
0 郵政編碼 0.10 z
1個 緯度 0.56 z
2個 經度 0.39 z

反而:

df = df.rename(index={0: 'feature_rank'})
指數 0 特征2 特點3
feature_rank 郵政編碼 0.10 z
1個 緯度 0.56 z
2個 經度 0.39 z

希望這會奏效。

df.rename(columns = {'0':'feature_rank'}, inplace = True)

你應該試試這個:

df.rename(column={'0':'feature_rank', 'feature2': 'my_new_name_for_feature2'}, inplace=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM