我有一个数据帧,它有很多列,我想插入一个新行来计算最后两列的总和。我试着使用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)