在底部的数据框上插入一行,然后计算总和



我有一个数据帧,它有很多列,我想插入一个新行来计算最后两列的总和。我试着使用concat函数,但不起作用。它添加了一个新列,而不是一个新行。有解决方案吗?

数据帧如下:

Date.      A.  B.  C.  D
2021-03-01 5.  10. 15. 20
2021-03-02 5.  10  5.  5
2021-03-03.5.  10. 10. 5

我试图创建一个空白的数据帧并连接原始的数据帧,但输出是错误的。

new_df = pd.DataFrame(columns=['Date'])
merge_df = pd.concat([returns,new_df])

我想要这样的结果:

Date.      A.  B.  C.  D
2021-03-01 5.  10. 15. 20
2021-03-02 5.  10  5.  5
2021-03-03.5.  10. 10. 5
sum_2      10  20. 15. 10

添加df:

import pandas as pd
df = pd.DataFrame({
"A": [5, 10, 15, 20],
"B": [5, 10, 15, 5],
"C": [5, 10, 5, 5],
"D": [5, 10, 10, 5]})

合计:

df.loc["Row_Total"] = df.sum()
df

仅对最后2行求和:

iloc-https://www.kite.com/python/answers/how-to-get-the-last-n-rows-from-a-pandas-dataframe-in-python

https://www.kite.com/python/docs/pandas.DataFrame.iloc

df.loc["Row_Total"] = df.iloc[-2:].sum()

也试试这个-

result = df[df._get_numeric_data().columns.values].iloc[-2:,:].sum()
df.append(result, ignore_index=True)

您可以使用pandassum((函数,通过沿索引求和来实现这一点。

像这样的东西。

df.loc['sum_2',:]= df.sum(axis=0)

相关内容

最新更新