这可能是一个愚蠢的问题,但对于我的生活,我无法弄清楚如何让 Julia 读取列名以数字开头的 csv 文件并在 DataFrames 中使用它们。如何做到这一点?
例如,假设我有包含以下内容的文件“test.csv”:
,1Y,2Y,3Y
1Y,11,12,13
2Y,21,22,23
如果我只使用 readtable(),我会得到这个:
julia> using DataFrames
julia> df = readtable("test.csv")
2x4 DataFrames.DataFrame
| Row | x | x1Y | x2Y | x3Y |
|-----|------|-----|-----|-----|
| 1 | "1Y" | 11 | 12 | 13 |
| 2 | "2Y" | 21 | 22 | 23 |
是什么赋予了?我怎样才能让列名成为它们应该是的,“1Y,”2Y 等等?
最佳答案
问题是在 DataFrames 中,列名是 symbols ,这并不意味着(见下面的评论)以数字开头。
您可以通过执行例如看到这一点typeof(:2)
,它将返回 Int64
,而不是(如您所料) Symbol
。因此,为了让你的列名成为可用的格式,DataFrames 必须在它前面加上一个字母 - typeof(:x2)
将返回 Symbol
,因此是一个有效的列名。
关于Julia DataFrame 列以数字开头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34858166/