将行附加到数据框

时间:2016-05-04 13:53:04

标签: python pandas dataframe

我真的很努力让它发挥作用...... 如何获得一个系列,将其转换为数据帧,向其添加一列,并在循环中连接它?

伪代码如下,但正确的语法对我来说是一个谜:

伪代码是:

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 个答案:

答案 0 :(得分: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}))