Python - 仅对 Pandas 数据帧的特定行求和
要仅对特定行求和,请使用loc()方法。使用:操作符提及开始和结束行索引。使用loc(),您还可以设置要包含的列。我们可以在新列中显示结果。
首先,让我们创建一个DataFrame。我们有产品记录,包括期初和期末股票-
dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"], "Opening_Stock": [300, 700, 1200, 1500], "Closing_Stock": [200, 500, 1000, 900]})
某些行的总和,即1日两行。列名也loc()在即Opening_Stock和Closing_Stock中提到。我们在新列“Sum_Result”中显示结果-
dataFrame['Sum_Result'] = dataFrame.loc[0 : 1,["Opening_Stock" , "Closing_Stock"]].sum(axis = 1)
示例
以下是完整的代码-
import pandas as pd dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"], "Opening_Stock": [300, 700, 1200, 1500], "Closing_Stock": [200, 500, 1000, 900]}) print"DataFrame...\n",dataFrame #sumofsomerows #Columnnamesalsomentionedintheloc()i.e.Opening_StockandClosing_Stock #displayingresultinanewcolumnSum_Result dataFrame['Sum_Result'] = dataFrame.loc[0 : 1,["Opening_Stock" , "Closing_Stock"]].sum(axis = 1) print"\nSumming some rows...\n",dataFrame输出结果
这将产生以下输出-
DataFrame... Closing_Stock Opening_Stock Product 0 200 300 SmartTV 1 500 700 ChromeCast 2 1000 1200 Speaker 3 900 1500 Earphone Summing some rows... Closing_Stock Opening_Stock Product Sum_Result 0 200 300 SmartTV 500.0 1 500 700 ChromeCast 1200.0 2 1000 1200 Speaker NaN 3 900 1500 Earphone NaN