Python : Machine Learning [5]
เมื่อวานเรียนบทที่ 8 สอนเรื่อง Grouping Data
โดยใช้หลัก Split Apply Combine SAC งงส่ะ 2

res=df.groupby("START*")["MILES*"].agg(["mean"]).head(20)
ทำ grouping ด้วย column START* แล้วนำค่า MILES* มาคำนวณค่าเฉลี่ย และให้แสดงผลเพียง 20 บรรทัด

res.reset_index(inplace=True)
res.columns=["START_CITY","AVG_DIST"]

กำหนดชื่อ column ใหม่ ให้เข้าใจง่ายขึ้น แต่ต้อง reset_index ก่อนนะ งงๆ เหมือนกัน

res=df.groupby(["START*","STOP*"])["MILES*"].agg(["mean","max","min"]).head(20)
เพิ่มการคำนวณหาค่า max min จาก column MILES*

res=df.groupby(["START*"]).agg({"MILES*":["mean"],"START_DATE*":["min","max"]}).head(20)
ถ้าเราต้องการคำนวณค่า คนละcolumnกัน ต้องใช้ datetype แบบ dictionary {} แล้วกำหนดเป็นคู่ๆไป

df["START_DATE*"]=pd.to_datetime(df["START_DATE*"],format="%m/%d/%Y %H:%M")
START_DATE* ต้องแปลงให้เป็น datetime ก่อน ถึงจะคำนวณได้ ถ้าทำแล้วเกิด ERROR ให้ดูข้อมูล Uber.csv ที่ให้มาว่ามีบรรทัดได้ที่รูปแบบไม่ถูกต้อง ??

ทดลองก็ประมาณรูปข้างล่างครับ




ข้างล่างแสดงการ convert datetime





Create Date : 20 สิงหาคม 2563
Last Update : 20 สิงหาคม 2563 21:30:22 น.
Counter : 1121 Pageviews.

0 comments
แจกภาพปฏิทินประจำวัน ครั้งที่ 19 (15-21 ตุลาคม 2568) ทองกาญจนา
(14 ต.ค. 2568 15:29:51 น.)
ลบข้อมูลจากคอมพิวเตอร์เก่าไม่ได้ ต้องทุบทิ้งดีกว่า newyorknurse
(8 ต.ค. 2568 05:07:15 น.)
แจกภาพปฏิทินประจำวัน ครั้งที่ 17 (1-7 ตุลาคม 2568) ทองกาญจนา
(30 ก.ย. 2568 08:27:18 น.)
แจกภาพปฏิทินประจำวัน ครั้งที่ 15 (15-21 กันยายน 2568) ทองกาญจนา
(14 ก.ย. 2568 08:31:08 น.)
ชื่อ :
Comment :
 *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

J-learning.BlogGang.com

wink99_th
Location :
พิษณุโลก  Thailand

[ดู Profile ทั้งหมด]
 ผู้ติดตามบล็อก : 8 คน [?]

บทความทั้งหมด