I have the following piece of code:
graphdata = pd.DataFrame(columns=['MaturityGroup','SumOfNetAssetPercent'] )
print(graphdata.dtypes)
graphdata["SumOfNetAssetPercent"] = graphdata["SumOfNetAssetPercent"].astype(float)
print(graphdata.dtypes)
graphdata.info()
graphdata = graphdata.append([['Remainder', filterdata[FilterRemainder]['NetAssetPercent'].sum()]
, ['<1 Yr', filterdata[Filter0to1Year]['NetAssetPercent'].sum()]
, ['1 to <3 Yrs', filterdata[Filter1to3Year]['NetAssetPercent'].sum()]
, ['3 to <5 Yrs', filterdata[Filter3to5Year]['NetAssetPercent'].sum()]
, ['5 Yrs & Above', filterdata[Filter5YrNAbove]['NetAssetPercent'].sum()]]
, ignore_index=True)
print(graphdata)
This gives me the following output:
MaturityGroup object
SumOfNetAssetPercent object
dtype: object
MaturityGroup object
SumOfNetAssetPercent float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
Index: 0 entries
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 MaturityGroup 0 non-null object
1 SumOfNetAssetPercent 0 non-null float64
dtypes: float64(1), object(1)
memory usage: 0.0+ bytes
MaturityGroup SumOfNetAssetPercent 0 1
0 NaN NaN Remainder 5.370009
1 NaN NaN <1 Yr 7.295347
2 NaN NaN 1 to <3 Yrs 39.340446
3 NaN NaN 3 to <5 Yrs 12.524880
4 NaN NaN 5 Yrs & Above 35.472455
My question is, why 'append' adds two additional empty NaN column to my empty dataframe?
filterdataalso?pd.DataFrameinstead ofgraphdata.appendit works fine with data being saved to the 2 defined columns with no additional ones being created.. However i need to run the code in a loop, hence wanted to keep appending to existing dataframe.graphdatadataframe already has any existing data thengraphdata.appendworks perfectly. It is only with the first time when it is empty the problem is arising.