[英]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.