dataframe - 使用 Julia,我如何读取多个 CSV 并合并列

标签 dataframe julia

我是 Julia 的新手,我认为自己是一般编程的初学者。我编写了一些 MATLAB 和 Python 代码。

我有一堆CSV,我想把它们结合起来做数据分析。我的数据如下所示:

using DataFrames
using Plots
using CSV
using Glob
using Pipe

file_list = glob("*.csv") #list of all csvs in dir
df = @pipe file_list[1] |> CSV.File(_,header = 2) |> DataFrame #Read file
# I could have use df = CSV.File(file_list[1], header = 2) |> DataFrame but
# I wanted to try piping multiple operation but it didn't work

[Results of the code snippet][1]

这导致:/image/nZTFy.png

事情是

  1. 我想合并前 5 列,因为它们将时间定义为 yyyy-mm-dd-hh-mm-ss
  2. 理想情况下,我会添加一个包含文件名的列,这样所有内容都会合并到一个数据框中。

正如我所说,我对 Julia 和一般编程还很陌生。感谢您的帮助。

谢谢。

最佳答案

要通过管道传递列表中的每个项目,请使用 。|>

julia> [1,2,3] .|> sqrt
3-element Array{Float64,1}:
 1.0
 1.4142135623730951
 1.7320508075688772

你可以这样添加列:

julia> using DataFrames, Dates

julia> df = DataFrame("yr"=>2000, "m"=>1:2, "d"=>[30,1], "h"=>12:13, "min"=>30:31, "sec"=>58:59)
2×6 DataFrame
 Row │ yr     m      d      h      min    sec
     │ Int64  Int64  Int64  Int64  Int64  Int64
─────┼──────────────────────────────────────────
   1 │  2000      1     30     12     30     58
   2 │  2000      2      1     13     31     59

julia> df[!,"datetime"] = DateTime.(df[!,"yr"], df[!,"m"], df[!,"d"], df[!,"h"], df[!,"min"], df[!,"sec"])
2-element Array{DateTime,1}:
 2000-01-30T12:30:58
 2000-02-01T13:31:59

julia> df[!,"file"] .= "file.csv"
2-element Array{String,1}:
 "file.csv"
 "file.csv"

julia> df
2×8 DataFrame
 Row │ yr     m      d      h      min    sec    datetime             file
     │ Int64  Int64  Int64  Int64  Int64  Int64  DateTime             String
─────┼─────────────────────────────────────────────────────────────────────────
   1 │  2000      1     30     12     30     58  2000-01-30T12:30:58  file.csv
   2 │  2000      2      1     13     31     59  2000-02-01T13:31:59  file.csv

关于dataframe - 使用 Julia,我如何读取多个 CSV 并合并列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66064894/

相关文章:

python-3.x - 在 Python 中规范化嵌套列表时出错

python - 按答案计算调查的票数

python - 组合两个 pandas 数据框,使相同的列索引/标题彼此相邻

python - 当并非所有单元格都包含该分隔符时,删除分隔符之前的所有内容

Julia :沿数组中的列找到最大值

python - 合并 2 个列表时 pd.DataFrame() 失败

julia - Julia 中模块和结构之间的名称冲突

Julia:使用 Compose 模块进行仿射变换

julia - 使用 Julia 将数据写入 csv 文件的最有效方法

julia - 如何找到julialang中元素子集的最大值的索引?