我有一个包含 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/