python - 如何在数据框末尾添加某些列的总和

标签 python pandas dataframe sum

我有一个包含 11 列的 pandas 数据框。我想将第 9 列和第 10 列的所有值的总和添加到表的末尾。到目前为止我尝试了两种方法:

  • 使用 dataframe.iloc[rownumber, 8] 将数据分配给单元格。这会导致越界错误。
  • 使用以下代码创建带有一些空白的向量:“”:
total = ['', '', '', '', '', '', '', '', dataframe['Column 9'].sum(), dataframe['Column 10'].sum(), '']
dataframe = dataframe.append(total)

结果并不好,因为它在末尾添加了总向量作为垂直向量而不是水平向量。我可以做什么来解决这个问题?

最佳答案

您需要使用pandas.DataFrame.append ignore_index=True

所以使用:

dataframe=dataframe.append(dataframe[['Column 9','Column 10']].sum(),ignore_index=True).fillna('')

示例:

import pandas as pd
import numpy as np
df=pd.DataFrame()
df['col1']=[1,2,3,4]
df['col2']=[2,3,4,5]
df['col3']=[5,6,7,8]
df['col4']=[5,6,7,8]

使用追加:

df=df.append(df[['col2','col3']].sum(),ignore_index=True)
print(df)


   col1  col2  col3  col4
0   1.0   2.0   5.0   5.0
1   2.0   3.0   6.0   6.0
2   3.0   4.0   7.0   7.0
3   4.0   5.0   8.0   8.0
4   NaN  14.0  26.0   NaN

不包含 NaN 值:

df=df.append(df[['col2','col3']].sum(),ignore_index=True).fillna('')
print(df)

  col1  col2  col3 col4
0    1   2.0   5.0    5
1    2   3.0   6.0    6
2    3   4.0   7.0    7
3    4   5.0   8.0    8
4       14.0  26.0     

关于python - 如何在数据框末尾添加某些列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57942952/

相关文章:

python - 查找相邻最大值的numpy数组坐标

python - python 的 gdata 电子表格库不再工作了?

Pythonlogging setLevel 整数输入是什么意思?

python - 如何停止在 csv 文件末尾写一个空行 - pandas

python - 在 pandas 中连接字符串列

python - 值的长度与索引的长度不匹配

python - 使用可变列对 Pandas 数据框进行排序

python - 忽略 nans 沿轴取 np.percentile 的最佳方法是什么?

Python/Pandas - 将带有内部字典的列表转换为 DataFrame

r - 将 TukeyHSD 比较(第一列)分离到新的数据框中。将一列分成两列