Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ผลรวมเฉพาะแถวที่กำหนดใน Pandas DataFrame


เพื่อหาผลรวมเฉพาะแถวที่กำหนด ใช้เมธอด loc() ระบุดัชนีแถวเริ่มต้นและสิ้นสุดด้วยออเปอเรเตอร์ : ด้วย loc() คุณยังสามารถตั้งคอลัมน์ที่ต้องการรวมได้ สามารถแสดงผลในคอลัมน์ใหม่

ก่อนอื่น สร้าง DataFrame เรามีบันทึกสินค้า รวมถึง Opening และ Closing Stock -

dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"], "Opening_Stock": [300, 700, 1200, 1500], "Closing_Stock": [200, 500, 1000, 900]})

ผลรวมของบางแถว เช่น 2 แถวแรก ชื่อคอลัมน์ก็ระบุใน 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