Ah ok I see now. But it's not cool because I can't extract a column. For 
example

 df = DataFrame(A = Line[Line(1.0, 1), Line(2.0, 2)])


I'd like to extract the "column" [1.0, 2.0].

I don't know what is immutable, I will see if I find. Thank you for your 
help.


Le vendredi 18 avril 2014 00:34:57 UTC+2, John Myles White a écrit :
>
> df[:A] gives you a column, which is vector of Line objects.
>
> df[:A][1] gives you the first entry of that vector.
>
> df[:A][1].a gives you the a element of the first entry of that vector.
>
> I think you're better off just using a raw vector of immutables. Instead 
> of defining type Line, define immutable Line.
>
>  -- John
>
> On Apr 17, 2014, at 3:33 PM, Stéphane Laurent 
> <lauren...@yahoo.fr<javascript:>> 
> wrote:
>
> How do I extract a line and a column with this method ?
>
>
>
> Le vendredi 18 avril 2014 00:21:26 UTC+2, John Myles White a écrit :
>>
>> Each row of a DataFrame is itself a DataFrame.
>>
>> Why not just store things in a vector of Line objects?
>>
>> type Line{T}
>> a::T
>> pair::Int
>> end
>>
>> df = DataFrame(A = Line[Line(1.0, 1), Line(2.0, 2)])
>>
>> I've changed things from your code because there's a convention of using 
>> uppercase letters to start the names of types.
>>
>>  -- John
>>
>> On Apr 17, 2014, at 3:18 PM, Stéphane Laurent <lauren...@yahoo.fr> wrote:
>>
>> Thank you. I need to extract the lines too. A line looks like
>>
>>  type line{T}
>>
>>          a::T
>>
>>          pair:Int
>>
>>  end
>>
>>
>> This doesn't work, do you have something to propose :
>>
>> D = DataFrame(A = [1.,2.], B = [1,2])
>>
>> D[1,:]::line{Float64}
>>
>>
>> ?
>>
>> Le jeudi 17 avril 2014 23:48:29 UTC+2, Simon Kornblith a écrit :
>>>
>>> The most performant approach would be to store the columns as vectors in 
>>> a tuple or immutable. DataFrames can be nearly as performant if you:
>>>
>>> - Extract columns (df[:mycol]) and index into them whenever possible 
>>> instead of indexing individual elements (df[1, :mycol])
>>> - Add typeasserts when you perform indexing operations 
>>> (df[:mycol]::Vector{Int}), or pass the columns to another function
>>>
>>> Otherwise you will incur a slowdown because the compiler doesn't know 
>>> the types.
>>>
>>> Simon
>>>
>>> On Thursday, April 17, 2014 5:34:24 PM UTC-4, John Myles White wrote:
>>>>
>>>> It's actually possible to place pure Julia vectors in a DataFrame, 
>>>> which might be convenient in this case. But you could always just store 
>>>> the 
>>>> columns in a Vector{Any}, which is what the DataFrame does behind the 
>>>> scenes anyway.
>>>>
>>>>  -- John
>>>>
>>>> On Apr 17, 2014, at 2:27 PM, Stefan Karpinski <ste...@karpinski.org> 
>>>> wrote:
>>>>
>>>> A DataFrame does seem like a good option, but those have NA support 
>>>> that you may not need. Can you elaborate a little more on the use case? Is 
>>>> it a fixed set of column names and types? Or will you need to support 
>>>> different schemas?
>>>>
>>>>
>>>> On Thu, Apr 17, 2014 at 5:16 PM, Stéphane Laurent 
>>>> <lauren...@yahoo.fr>wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>>  I need to deal with some objects represented as arrays whose some 
>>>>> columns are BigFloat, some columns are Int, some columns are logical. Is 
>>>>> it 
>>>>> a good idea to use a DataFrame ? Is there a better solution ?This is for 
>>>>> a 
>>>>> computationally intensive program.
>>>>>
>>>>
>>>>
>>>>
>>
>

Reply via email to