我无法将数据帧附加到已创建的数据框中 期望输出如下:
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"
任何帮助都将不胜感激。
答案 0 :(得分:2)
您正在修改FunAppend函数中的全局变量df
。
需要明确通知Python。在函数内添加:
global df
它按预期工作。
答案 1 :(得分:1)
由于在转到else情况时没有定义df,虽然您确实以kwargs的形式将df发送到函数,因此您可以通过键入kwargs[0]
改变这个:
df=df.append(dfTemp,ignore_index=True)
要:
df=kwargs[0].append(dfTemp,ignore_index=True)