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]})

某些行(即前兩行)的總和。列名也在 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

# sum of some rows
# Column names also mentioned in the loc() i.e. Opening_Stock and Closing_Stock
# displaying result in a new column Sum_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

更新日期:2021-09-15

5K+ 次瀏覽

Kickstart 您的職業

透過完成課程獲得認證

開始
廣告