2016-05-04 9 views
0

私は実際にそれを動作させるのに苦労しています... Seriesを取得し、それをデータフレームに変換し、列を追加し、ループで連結するにはどうすればよいですか?データフレームに行を追加する

擬似コードは以下ですが、正しい構文は、私には謎です:

擬似コードは次のとおりです。質問者の洗練後に編集

def func_B_Column(df): 
    return 1 

df_1 = (...) # columns=['a', 'etc1', 'etc2'] 
df_2 = pandas.DataFrame(columns=['a','b','c']) 

listOfColumnC = ['c1','c2','c3'] 

for var in listOfColumnC : 
    series = df_1.groupby('a').apply(func_B_Column) #series object should have now 'a' as index, and func_B_Column as value 
    aux = series.to_frame('b') 
    aux['c'] = aux.apply(lambda x: var, axis=1) #add another column 'c' to the series object 

    df_2 = df_2 .append(aux) #concatenate the results as rows, at the end 
+1

」系列に列を追加する。 DataFramesのみが列で構成されます。 – knagaev

+0

本当に....私は投稿を編集します – guilhermecgs

+0

そしてどのようにシリーズを連結する必要がありますか?列として、または行として?行として、どの列が値を受け取るか? – knagaev

答えて

0

することができます

df_2 = DataFrame() 
    for var in listOfColumnC : 
    df_2 = df_2.append(DataFrame({'b': df_1.groupby('a').apply(func_B_Column), 'c': var})) 
関連する問題