我有以下代码:
ruby: ../ruby-2.7.0/thread_pthread.c:1935: rb_sigwait_fd_put: Assertion `old == th' failed.
Aborted
这给了我以下输出:
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)
我的问题是,为什么“追加”在我的空数据框中添加两个额外的空NaN列?
答案 0 :(得分:0)
之所以会添加两行,是因为您要追加与原始数据框名称不同的行。
例如:
df = pd.DataFrame(columns=["a", "b"])
print(df)
Empty DataFrame
Columns: [a, b]
Index: []
创建一个要追加但不包含列名的数据框。
df_other = pd.DataFrame([["remainder", 5.3], ["more", 2.2], ["some", 66]])
print(df_other)
0 1
0 remainder 5.3
1 more 2.2
2 some 66.0
现在将它们附加...
df = df.append(df_other)
print(df)
a b 0 1
0 NaN NaN remainder 5.3
1 NaN NaN more 2.2
2 NaN NaN some 66.0
现在将附加数据框更改为包括列。
df_other = pd.DataFrame(
[["remainder", 5.3], ["more", 2.2], ["some", 66]], columns=["a", "b"]
)
print(df_other)
a b
0 remainder 5.3
1 more 2.2
2 some 66.0
结果是。
df = df.append(df_other)
print(df)
a b
0 remainder 5.3
1 more 2.2
2 some 66.0