python - 如何在 pandas 中设置新值但保留原始数据框

标签 python pandas

我有一个像这样的 pandas 数据框:

   admit   gpa  gre  rank
   0  3.61  380     3
   1  3.67  660     3
   1  4.00  800     1 
   1  3.19  640     4
   0  2.93  520     4

我想为第一行设置一个新的 pandas 数据框,但保留原始数据框,例如:

   admit   gpa  gre  rank
   0  3.61  380     5

   admit   gpa  gre  rank
   0  3.61  380     3
   1  3.67  660     3
   1  4.00  800     1 
   1  3.19  640     4
   0  2.93  520     4

我已经尝试过:

df_value = pd.DataFrame(df[0:(0 + 1)])
df_value.set_value(0, '排名', 5)

但是,当我更改新 pandas 中的值时,原始 pandas 中的值也会更改。 对于这个问题你有什么解决办法吗?

最佳答案

您可以使用 copy() 函数:

>>> df_value = df[:1].copy()
>>> df_value["rank"] = 5
>>> df
   admit   gpa  gre  rank
0      0  3.61  380     3
1      1  3.67  660     3
2      1  4.00  800     1
3      1  3.19  640     4
4      0  2.93  520     4
>>> df_value
   admit   gpa  gre  rank
0      0  3.61  380     5

关于python - 如何在 pandas 中设置新值但保留原始数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19544948/

相关文章:

python - 有效地对 Pandas DataFrame 行进行分区,使得每个分区中的列总和至少为 X

python - 随着时间的推移,Tkinter 应用程序的响应速度变得越来越慢

python - 将一个列表除以另一个列表

python - 对于每一行,仅保留非 nas,然后连接,同时忽略索引,pandas

python - Pandas Xlsxwriter 时间格式

python - 使用 Python 从 CSV 文件创建列表

python - 我如何通过终端 Linux 向程序发出特定命令?

python - 从 pandas 系列的索引操作返回 NaN

python - 如何阻止聚合函数向数据帧添加不需要的行?

python - 通过 groupby 建立开始/结束日期