针对对DataFrame进行列相加和行相加,下面是详细的攻略:
DataFrame列相加
DataFrame列相加实际上是针对DataFrame的列进行对应相加,例如:
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# DataFrame列相加
df['D'] = df['A'] + df['B'] + df['C']
# 输出DataFrame
print(df)
上述代码中,首先我们通过pd.DataFrame()
函数创建一个名为df
的DataFrame,其中包含3列,分别是A、B、C,每列包含3行数字数据。然后我们通过df['D']
指定在df
中新增一列,列名为D,然后使用表达式df['A'] + df['B'] + df['C']
将A、B、C三列逐行相加,结果存储到D列中。最后使用print()
函数输出最终的DataFrame。
运行结果如下:
A B C D
0 1 4 7 12
1 2 5 8 15
2 3 6 9 18
从结果中可以看出,新增的D列正是A、B、C三列逐行相加的结果。
DataFrame行相加
DataFrame行相加实际上是将整个DataFrame沿着列方向相加,具体做法如下:
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# DataFrame行相加
row_sum = df.sum(axis=1)
# 新增行和列到DataFrame
df = df.append(pd.DataFrame(data=row_sum.values.reshape(1, -1), columns=df.columns, index=['sum']))
# 输出DataFrame
print(df)
上述代码中,我们通过pd.DataFrame()
创建了一个名为df
的DataFrame,该DataFrame包含3列、3行的数字数据。然后我们使用df.sum(axis=1)
对整个DataFrame进行求和,其中axis=1
表示沿着列方向进行求和,也就是对每行数据进行求和。然后将求和的结果保存到变量row_sum
中。
接着,我们使用pd.DataFrame()
再创建一个新的DataFrame,并将row_sum.values.reshape(1, -1)
作为数据构造参数进行传递。其中1
表示新创建的DataFrame只有1行,-1
表示新创建的DataFrame的列数可以自动计算,以适应原DataFrame的列数。然后使用columns=df.columns
指定新增的DataFrame的列名和原DataFrame相同,使用index=['sum']
指定新增的DataFrame的行名为sum
。
最后,使用df.append()
将新增的DataFrame添加到原DataFrame的末尾(注意append()
方法返回的是新的DataFrame对象,而不是在原对象上进行修改)。最后使用print()
函数输出最终的DataFrame。
运行结果如下:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
sum 6 15 24
从结果中可以看出,新增的行名为sum
,包含每列逐行相加的结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:对dataframe进行列相加,行相加的实例 - Python技术站