Pandas 文件忽略选项
我对朱莉娅的熊猫有意见。看看这个代码。我正在尝试读取csv并将其转换为数据帧。但标题未被接受。好的,我用谷歌搜索选项并将header设置为1。但它不起作用。我还设置了数据类型手册,因为前两个应该是Float64,最后一个应该是Int。我没有收到错误消息,但是如果我设置了类型手册,所有列都是float。这不是我想设定的。也许这是一个朱莉娅初学者的错误Pandas 文件忽略选项,pandas,dataframe,csv,julia,Pandas,Dataframe,Csv,Julia,我对朱莉娅的熊猫有意见。看看这个代码。我正在尝试读取csv并将其转换为数据帧。但标题未被接受。好的,我用谷歌搜索选项并将header设置为1。但它不起作用。我还设置了数据类型手册,因为前两个应该是Float64,最后一个应该是Int。我没有收到错误消息,但是如果我设置了类型手册,所有列都是float。这不是我想设定的。也许这是一个朱莉娅初学者的错误 julia> using Pandas julia> using CSV julia> ofenbelegung_d
julia> using Pandas
julia> using CSV
julia> ofenbelegung_df = CSV.File("dichte.csv"; header=1,types=[Float64, Float64, Int]) |> DataFrame
0 1 2
0 20.0 7863.0 1.0
1 100.0 7834.0 1.0
2 200.0 7803.0 1.0
3 300.0 7770.0 1.0
4 400.0 7736.0 1.0
julia> ofenbelegung_df = CSV.File("dichte.csv"; types=[Float64, Float64, Int]) |> DataFrame
0 1 2
0 20.0 7863.0 1.0
1 100.0 7834.0 1.0
2 200.0 7803.0 1.0
3 300.0 7770.0 1.0
4 400.0 7736.0 1.0
julia> ofenbelegung_df = CSV.File("dichte.csv") |> DataFrame
0 1 2
0 20 7863 1
1 100 7834 1
2 200 7803 1
3 300 7770 1
4 400 7736 1
julia>
原始csv文件
Temp;Val;Gr
20;7863;1
100;7834;1
200;7803;1
这两个问题都与Pandas.jl有关,而与CSV.jl无关(特别是
header=1
是默认值,因此以这种方式传递它没有任何效果)
这里有一个例子
julia> using CSV, Pandas, Tables
julia> file = IOBuffer("""Temp;Val;Gr
20;7863;1
100;7834;1
200;7803;1""")
IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=43, maxsize=Inf, ptr=1, mark=-1)
julia> CSV.File(file, types=[Float64, Float64, Int]) |> DataFrame
0 1 2
0 20.0 7863.0 1.0
1 100.0 7834.0 1.0
2 200.0 7803.0 1.0
julia> CSV.File(file, types=[Float64, Float64, Int]) |> columntable
(Temp = [20.0, 100.0, 200.0], Val = [7863.0, 7834.0, 7803.0], Gr = [1, 1, 1])
Pandas.jl的解决方案是:
julia> CSV.File(file, types=[Float64, Float64, Int]) |> columntable |> pairs |> DataFrame
Temp Val Gr
0 20.0 7863.0 1
1 100.0 7834.0 1
2 200.0 7803.0 1
请注意,如果使用DataFrames.jl而不是Pandas.jl,则所有选项都是正确的:
julia> using CSV, DataFrames
julia> file = IOBuffer("""Temp;Val;Gr
20;7863;1
100;7834;1
200;7803;1""")
IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=43, maxsize=Inf, ptr=1, mark=-1)
julia> CSV.File(file, types=[Float64, Float64, Int]) |> DataFrame
3×3 DataFrame
Row │ Temp Val Gr
│ Float64 Float64 Int64
─────┼─────────────────────────
1 │ 20.0 7863.0 1
2 │ 100.0 7834.0 1
3 │ 200.0 7803.0 1
(由于Pandas.jl和DataFrames.jl软件包之间的名称冲突,我正在使用新的Julia会话。另一种选择是使用Pandas.read_csv()而不是csv.jl。但是DataFrames.jl而不是Pandas是更好的选择。