![](/img/trans.png)
[英]How to add column names to ipysheet without using pandas data frame?
[英]How to add column without adding column to its original data frame in pandas dataframe?
我復制一個數據框,然后在復制的一個數據框中添加一列,但這將導致向原始數據框添加列。
X_train_1 = X_train
X_train_1["class_label"] = y_train
print(X_train.columns)
如前所述在這里 ,你需要復制數據框。 檢查以下最小樣本:
import pandas as pd
X_train = pd.DataFrame([{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}, {'a': 4, 'b': 5}])
X_train_1 = X_train.copy()
print(X_train_1)
X_train_1["class_label"] = ['one', 'two', 'three', 'four']
print(X_train)
當你寫
X_train_1 = X_train
它基本上是通過引用螞蟻而不是值來分配變量。 因此,無論您對新變量進行了什么更改,它實際上都會修改原始變量。 例如,如果嘗試使用列表執行此操作,則會觀察到相同的行為。 如其他人所建議,使用
X_train_1 = X_train.copy()。
在復制數據框時,您應該使用復制方法來復制數據框,而不僅僅是輔助新的數據框。 以下代碼不會導致對原始數據幀進行任何修改。
X_train_1 = X_train.copy()
X_train_1["class_label"] = y_train
print(X_train.columns)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.