假设:我有一个Julia数据框,其中有一列标题为article_id.

通常,我可以使用一些语法(如df = DataFrame(CSV.File(dataFileName; delim = ",")))来声明数据帧.如果我想获取与已知属性相关的列,可以执行df.article_id之类的操作.我还可以通过执行df."article_id"来索引该特定列.

但是,如果我创建了一个字符串并将其赋值为article_id,例如str = "article_id",那么我无法通过df.str索引数据帧:这样做会产生错误.这是有意义的,因为str不是数据帧的属性,而str is的值是数据帧的属性.如何对数据帧进行索引以获得与str值对应的列?我正在寻找一些类似df.valueof(str)的语法.

有什么解决办法吗?

推荐答案

DataFrames.jl manual's "Getting started" page开始:

可以通过df直接访问列(即无需复制).col,df."col",df[!,:col]或df[!,"col"].后两种语法更灵活,因为它们允许传递包含列名称的变量,而不仅仅是文字名称.

所以你可以写df[!, str],如果写str == "article_id",那就等于df.article_id.

当您需要更高级的索引类型或需要更深入地了解选项时,手册的Indexing section将更加详细.

Database相关问答推荐

如何使用PostgreSQL列出特定数据库的表并按大小排序?

如何替换对象数组内的数组元素

如何决定使用数据库事务

基于邮政编码的纬度和经度

存储所有排列的模式数据库

如何避免使用 LINQ-To-SQL 的内存泄漏?

当可伸缩性无关紧要时,NoSQL 与 SQL

本地数据库,我需要一些例子

什么是本体数据库?

PHP 和 MySQL Select 单个值

JavaScript 布尔搜索查询生成器接口库?

触发器、断言和判断之间有什么区别?

在 MySQL 存储过程中使用if和else

Redis Pub/Sub 和 Redis Stream 之间的主要区别是什么?

从原始物理文件中恢复 postgreSQL 数据库

如何删除除了postgres中的少数数据库之外的所有数据库

MySQL 整数 0 与 NULL

设计数据库来保存不同的元数据信息

如何通过数据库链接执行 Oracle 存储过程

带数据库的Electron 应用程序