无法附加数据帧

时间:2017-02-06 10:41:03

标签: python-2.7 pandas

我无法将数据帧附加到已创建的数据框中 期望输出如下:

a    b  

0 1 1
1 2 4
2 11 121
3 12 144

import pandas

def FunAppend(*kwargs):
    if len(kwargs)==0:
        Dict1={'a':[1,2],'b':[1,4]}
        df=pandas.DataFrame(Dict1)
    else:

        Dict1={'a':[11,12],'b':[121,144]}       
        dfTemp=pandas.DataFrame(Dict1)
        df=df.append(dfTemp,ignore_index=True)
    return df


df=FunAppend()
df=FunAppend(df)
print df
print "Completed"

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

您正在修改FunAppend函数中的全局变量df

需要明确通知Python。在函数内添加:

global df

它按预期工作。

答案 1 :(得分:1)

由于在转到else情况时没有定义df,虽然您确实以kwargs的形式将df发送到函数,因此您可以通过键入kwargs[0]

来访问df

改变这个:

df=df.append(dfTemp,ignore_index=True)

要:

df=kwargs[0].append(dfTemp,ignore_index=True)