どの言語でもこのテクニックは必要となりますね。備忘録として記録しておきます。
【python】
パターン1・・・最初にリストを使って、後にconcatで結合。
dflist = []
for i in range(10):
dflist.append(pd.DataFrame( {"a": ["valueA"] , "b": ["valueB"] }) )
df = pd.concat(dflist,axis=0)
パターン2・・・最初に行なしのデータフレームを作って、appendで追加する方法
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)
おまけ:複数のリストからデータフレームを作る
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
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で指定。
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
}
おまけ:複数のリストからデータフレームを作る
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】
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