如何改变 DataFrame?

2023-12-29

我正在尝试从数据框中删除一些列,并且不希望返回修改后的数据框并将其重新分配给旧数据框。相反,我希望该函数只修改数据框。这是我尝试过的,但它似乎并没有做我所除外的事情。我的印象是参数是作为参考传递的,而不是按值传递的?

function remove_cols! (df::DataFrame, cols)   
  df = df[setdiff(names(df), cols)];
end

df = DataFrame(x = [1:10], y = [11:20]);
remove_cols!(df, [:y]); # this does not modify the original data frame

当然,下面的方法有效,但我更喜欢如果remove_cols!刚刚改变了 df

df = remove_cols!(df, [:y]);

如何更改函数内的 df ?

Thanks!


据我了解,Julia 它使用所谓的共享传递,这意味着引用是按值传递的。因此,当您将 DataFrame 传递给函数时,会创建对该函数本地的 DataFrame 的新引用。当您重新分配本地df变量有自己对 DataFrame 的引用,它对单独的全局变量及其对 DataFrame 的单独引用没有影响。

有一个DataFrames.jl 中的函数 https://github.com/JuliaStats/DataFrames.jl/blob/master/src/dataframe/dataframe.jl#L594用于删除 DataFrame 中的列。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何改变 DataFrame? 的相关文章

随机推荐

  • Php 邮件程序 google smtp 在本地主机上工作,但无法在实时站点上工作

    我正在尝试在注册后向注册用户发送邮件 为此 我使用 phpmailer 库 我的代码如下 function smtpmailer to from from name subject body global error username em
  • Flutter 读取 main 中的共享首选项,然后决定哪个启动页面?

    我想判断在main中启动哪个页面 实际上是登录页面和主页 所以我必须阅读首选项中的 isLogin 在 main 中如何做到这一点 我绑定了这些代码 Future
  • 为什么 AlertDialog.Builder 没有 setOnDismissListener 或 setOnShowListener 方法?

    我想使用 AlertDialog Builder 的流畅界面 但是当我要添加 DismissListener 和 ShowListener 时 我必须在构建器上执行 create 后将其添加到对话框对象中 有谁知道为什么他们不在那里吗 由于
  • 在 Ubuntu 上安装 Emscripten

    我正在尝试在 Ubuntu 上安装 Emscripten 但是Emscripten 官方安装指南 https github com kripken emscripten wiki Tutorial不提供在 Linux 上安装 Emscrip
  • 如何在 VB 中打开 SCCM 配置管理器 - Visual Studio 2015

    我正在使用 Visual Studio 2015 在 VB 中创建一个工具 当单击打开菜单时 我在强制菜单条上的一项时遇到了一些问题SCCM Configuration Manager 到目前为止我已经尝试过 Option 1 Dim Pr
  • 服务器事件客户端 - 摆脱 URI 末尾自动附加的字符串

    我是服务堆栈库的新手 并尝试使用服务器事件客户端 我正在使用的服务器有两个 URI 一个用于接收连接令牌 另一个用于使用前一调用中获取的令牌侦听搜索请求 我使用带有摘要身份验证的常规 JsonServiceClient 来获取令牌 如下所示
  • 如何从JS更改输入类型日期的最大值或最小值

    我有两个输入类型日期 例如
  • 在页面上执行任何活动之前,如何检查 MVC 中的会话变量是否存在?

    我有一个这样的场景 搜索控制我们的数据输入人员输入用户 ID 并搜索其详细信息并浏览与该用户相关的不同页面 因此 现在在我的 MVC 应用程序中 我正在设置一个会话来维护会话变量中的用户 ID 在页面上的每个方法 如编辑 更新等 上 我都会
  • Android通知栏数量

    我已经能够在 Android 模拟器上成功显示通知数量 但是 当我在实际的 Android 手机上使用它时 它不会显示任何内容 关于为什么可能存在差异有什么建议吗 尝试先将其设置为数字 1 然后再设置更高 来自这里的建议 http deve
  • MySQL选择范围内的坐标

    我的数据库中有 100 000 个地址 即记录 它们每个都有自己的坐标 纬度和经度 现在 给定用户的地理位置 纬度和经度 我想在地图上仅显示 5 英里范围内的地址 使用 Google 地图 v3 API 这意味着通常只需显示 100 000
  • 是否有用于属性字符串的 joinWithSeparator

    可以使用 joinWithSeparator 方法将字符串数组与特定分隔符连接在一起 let st apple pie potato st joinWithSeparator 结果我们就会得到 苹果 派 土豆 如果我在数组中添加了属性字符串
  • NHibernate 和 ADO.NET 连接池

    NHibernate 似乎没有池化 ADO NET 数据库连接 仅当事务提交或回滚时连接才会关闭 对源代码的审查表明 无法配置 NHibernate 以使其在 ISession 被释放时关闭连接 这种行为的意图是什么 ADO NET 本身具
  • 如何在flutter中制作动态图表?

    您好 我尝试在 flutter 中制作一个简单的图表 其中 x 轴为日期 Y 轴为数据 当我按下按钮时 当前日期的数据会增加 第一个目标通过以下代码完成 但现在我不知道如何使图表更加动态 我想要统计每个新的一天我按下的按钮 我不知道如何为每
  • 当我只绘制更大的轮廓对象时,Python Opencv drawContours 失败

    我正在尝试绘制最大物体的轮廓 首先 我将显示绘制所有轮廓的图像 为了找到最大的物体 我使用了这段代码 maxsize 0 best 0 count 0 for cnt in contours if cv2 contourArea cnt g
  • 获取旋转后di​​v角点像素位置

    在设置了旋转弧度 度数后 如何计算 div 的左上角 左下角 右上角 右下角像素位置 举个例子会很有帮助 假设旋转相对于中心四个角的坐标也相对于同一原点 每个点 a b where a and bdiv的半宽和半高需要乘以变换矩阵 cos
  • 输入::file() 返回 null Laravel

    我一直在编写一个上传脚本 即使我使用 Laravel 内置函数 Input file 它仍然返回 null 我将发布我的家庭控制器代码 public function handleUpload user Auth user username
  • Coldfusion 和 Linkedin API 工作示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人设法让 LinkedIn API 在 Coldfusion 应用程序中运行吗 Linkedin 开发
  • 贡献给状态栏的控件不可见

    我想在工作台窗口的状态栏中放置一个控件 整个过程应该是直接的 但无论我尝试什么 状态栏的贡献都不会变得可见 因为我没有做own应用程序 但只是向 IDE 提供一个插件 WorkbenchWindowAdvisor和朋友不是一个选择 扩展点是
  • HTML 提交按钮:不同的值/按钮文本?

    我想创建一个 HTML 表单提交按钮value add tag 但是 该网页是瑞典语的 所以我想要一个不同的按钮文字 也就是说 我想要一个像这样的按钮 但我想让我的代码像 if request getParameter cmd equals
  • 如何改变 DataFrame?

    我正在尝试从数据框中删除一些列 并且不希望返回修改后的数据框并将其重新分配给旧数据框 相反 我希望该函数只修改数据框 这是我尝试过的 但它似乎并没有做我所除外的事情 我的印象是参数是作为参考传递的 而不是按值传递的 function rem