どの言語でもこのテクニックは必要となりますね。備忘録として記録しておきます。
【python】
パターン1・・・最初にリストを使って、後にconcatで結合。
1 2 3 4 | dflist = [] for i in range ( 10 ): dflist.append(pd.DataFrame( { "a" : [ "valueA" ] , "b" : [ "valueB" ] }) ) df = pd.concat(dflist,axis = 0 ) |
パターン2・・・最初に行なしのデータフレームを作って、appendで追加する方法
1 2 3 4 | df = pd.DataFrame(columns = [ 'A' , 'B' ]) for i in range ( 5 ): record = pd.DataFrame({ "A" : [ "valueA" ], "B" : [ "ValueB" ]}) df = pd.concat([df, record], axis = 0 ) |
おまけ:複数のリストからデータフレームを作る
1 2 3 | list_a = [ 1 , 2 , 3 ] list_b = [ 4 , 5 , 6 ] pd.DataFrame({ "A_col" :list_a, "B_col" :list_b}) |
A_colとB_colが列名のデータフレームができる。
【R】
パターン1
1 2 3 4 5 6 | df = data.frame ( matrix (ncol = 2, nrow = 0)) colnames (df) <- c ( "column1" , "column2" ) for (i in 1:10){ df[i,1] <- i df[i,2] <- i } |
パターン2・・・列数をnで指定。
1 2 3 4 5 6 7 | n <- 2 df <- data.frame ( matrix ( rep ( NA , n), nrow=1))[ numeric (0), ] colnames (df) <- c ( "column1" , "column2" ) for (i in 1:5){ df [i,1] <- i df [i,2] <- i } |
おまけ:複数のリストからデータフレームを作る
1 2 3 | value <- c (5,6,4,6,8,2,3,1,7) group <- c ( "a" , "a" , "a" , "b" , "b" , "b" , "c" , "c" , "c" ) df <- tibble (value,group) |
データフレームの構成リスト名が列名となる。dfは、value列とgroup列ができる。
【VBA】
1 2 3 4 5 6 7 8 9 | Sub myfunction() Dim Lastrow As Integer Lastrow = Worksheets( "Sheet1" ).Range( "A1" ). End (xlDown).Row Dim dataframe() As Variant ReDim dataframe(1 To Lastrow) As Variant For i = 1 To Lastrow dataframe(i) = Worksheets( "Sheet1" ).Cells(i, 1) Next i End Sub |