我正在尝试使用来自excel或抓取网络的字符串来命名数据框列的方法。
那么如何将“colname”转换为下面的colname?
df = DataFrame(colname = [1, 2])
我试过
df = DataFrame(symbol("colname") = [1, 2])
或
df = DataFrame([1, 2], [symbol("colname")])
和许多其他组合,但没有成功。 我看到了与基于字符串列名删除列有关的问题,但首先没有关于命名列的问题/答案。
答案 0 :(得分:10)
您可以使用names!
功能分两步尝试这样的事情。
using DataFrames
newname = ["colname1", "colname2"]
df = DataFrame(v1 = [1, 2], v2 = [3, 4])
names!(df.colindex, map(parse, newname))
df
# 2x2 DataFrames.DataFrame
# | Row | colname1 | colname2 |
# |-----|----------|----------|
# | 1 | 1 | 3 |
# | 2 | 2 | 4 |
以下是我使用的Julia
和DataFrames.jl
的版本
versioninfo()
# Julia Version 0.4.0-dev+6991
# Commit 811a977 (2015-08-26 04:02 UTC)
# Platform Info:
# System: Linux (x86_64-unknown-linux-gnu)
# CPU: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
# WORD_SIZE: 64
# BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
# LAPACK: libopenblas
# LIBM: libopenlibm
# LLVM: libLLVM-svn
Pkg.installed("DataFrames")
# v"0.6.9"