pandas不同的列名称相同的数据

时间:2018-04-27 17:33:09

标签: pandas

如何使用相同的数据存储并仅更改列。

如果我做这样的事情:

In [30]: import pandas as pd

In [31]: import numpy as np

In [32]: df = pd.DataFrame(np.zeros((2,2)))

In [33]: df_new = pd.DataFrame(df)

In [34]: df[0][0]=5

In [35]: df_new
Out[35]:
     0    1
0  5.0  0.0
1  0.0  0.0

In [36]: df_new.columns=["a", "b"]
In [37]: df_new.columns
Out[37]: Index(['a', 'b'], dtype='object')

In [38]: df.columns
Out[38]: Index(['a', 'b'], dtype='object')

更改两个数据框的列。在原地使用数据框rename会导致两个数据框的列都发生变化。

1 个答案:

答案 0 :(得分:0)

您应该使用pandas.DataFrame.copy()创建现有数据框的副本。

对于您的代码,

df_new = df.copy()

而不是

df_new = pd.DataFrame(df)

会做到这一点。