โรแมนติกกับหมีแพนด้า
Apr 06 2023
หากคุณอยู่ในวิทยาศาสตร์ข้อมูลและใช้ Python เป็นเครื่องมือพื้นฐาน คุณต้องรู้จัก Pandas ดังนั้นฉันจะข้ามไปที่หัวข้อนี้โดยตรง จุดประสงค์หลักในการสร้างเอกสารนี้คือเพื่อให้ข้อเสนอพื้นฐานแพนด้าทั้งหมดรวมอยู่ในที่เดียว ดังนั้นเราจึงไม่ต้องค้นหาสถานที่มากมายเมื่อต้องการ
หากคุณอยู่ในวิทยาศาสตร์ข้อมูลและใช้ Python เป็นเครื่องมือพื้นฐาน คุณต้องรู้จัก Pandas ดังนั้นฉันจะข้ามไปที่หัวข้อนี้โดยตรง
จุดประสงค์หลักในการสร้างเอกสารนี้คือเพื่อให้ข้อเสนอพื้นฐานแพนด้าทั้งหมดรวมอยู่ในที่เดียว ดังนั้นเราจึงไม่ต้องค้นหาสถานที่มากมายเมื่อต้องการ
รายการข้อเสนอในส่วนต่าง ๆ
โครงสร้างข้อมูล:
วิธีการแบบอนุกรม:
series = pd.Series(data): สร้างชุดวัตถุใหม่จากอาร์เรย์หรือรายการข้อมูลseries.values: คืนค่าของชุดเป็นอาร์เรย์ NumPyseries.index: ส่งคืนดัชนีของซีรีส์series.head(n): ส่งกลับ n แถวแรกของชุดข้อมูลseries.tail(n): คืนค่า n แถวสุดท้ายของชุดข้อมูลseries.describe(): แสดงสถิติสรุปของซีรีส์series.unique(): ส่งกลับค่าที่ไม่ซ้ำกันในชุดseries.isnull(): ส่งคืนมาสก์บูลีนซึ่งระบุว่าค่าใดเป็นโมฆะseries.dropna(): ส่งคืนชุดข้อมูลใหม่โดยลบค่า Null ออกdf.drop(columns=['column_name']): วางคอลัมน์จาก DataFrameseries.fillna(value): ส่งคืนชุดข้อมูลใหม่ที่มีค่า Null ซึ่งเต็มไปด้วยค่าที่ระบุ
df = pd.DataFrame(data): สร้างวัตถุ DataFrame ใหม่จากพจนานุกรม อาร์เรย์ NumPy หรือรายการพจนานุกรมdf.columns: ส่งคืนป้ายชื่อคอลัมน์ของ DataFramedf.index: ส่งคืนป้ายชื่อแถวของ DataFramedf.memory_usage: ส่งคืนการใช้หน่วยความจำของแต่ละคอลัมน์เป็นไบต์df.head(n): คืนค่า n แถวแรกของ DataFramedf.tail(n): คืนค่า n แถวสุดท้ายของ DataFramedf.shape: ส่งคืนทูเพิลที่แสดงขนาดของ DataFramedf.info(): ให้ข้อมูลเกี่ยวกับ DataFramedf.describe(): แสดงสถิติสรุปของ DataFramedf.groupby(column): จัดกลุ่ม DataFrame ตามคอลัมน์ที่ระบุdf.merge(other_df): รวม DataFrame กับ DataFrame อื่นตามคอลัมน์ทั่วไปdf.pivot_table(): สร้างตารางเดือยจาก DataFrame
สถิติเชิงพรรณนา:
df.mean(): คำนวณค่าเฉลี่ยdf.median(): คำนวณค่ามัธยฐานdf.mode(): คำนวณโหมด
df.corr(): คำนวณความสัมพันธ์ระหว่างคอลัมน์df.cov(): คำนวณความแปรปรวนร่วมระหว่างคอลัมน์
df.quantile(0.25): คำนวณควอไทล์แรก
การจัดการค่าที่หายไป:
df.isnull(): ส่งคืน DataFrame ด้วยค่าบูลีนที่ระบุว่าเซลล์ใดมีค่าที่ขาดหายไปdf.dropna(): ส่งคืน DataFrame ใหม่โดยลบค่า Null ออกdf.fillna(value): เติมค่าที่ขาดหายไปทั้งหมดด้วยค่าที่ระบุdf.interpolate(method='linear'):เติมค่า NaN โดยใช้วิธีการแก้ไข
df.duplicated(): ส่งคืนชุดบูลีนเพื่อระบุว่าแถวใดซ้ำกันdf.drop_duplicates(): ลบแถวที่ซ้ำกันทั้งหมด
df.astype(): แปลงประเภทข้อมูลของคอลัมน์ DataFrame เป็นประเภทข้อมูลที่ระบุ
str.replace(old, new): แทนที่เหตุการณ์ทั้งหมดของสตริงที่ระบุด้วยสตริงอื่นstr.split(): แยกสตริงออกเป็นรายการของสตริงย่อยstr.strip(): ลบช่องว่างนำหน้าและต่อท้ายออกจากสตริง
df.clip(lower, upper): ตัดค่าทั้งหมดใน DataFrame ให้อยู่ในช่วงที่กำหนด
df.rename(columns={'old_name': 'new_name'}): เปลี่ยนชื่อคอลัมน์ใน DataFrame
str.lower(): แปลงอักขระทั้งหมดในสตริงเป็นตัวพิมพ์เล็กstr.upper(): แปลงอักขระทั้งหมดในสตริงเป็นตัวพิมพ์ใหญ่str.strip(): ลบช่องว่างนำหน้าและต่อท้ายออกจากสตริง
df.apply(function): ใช้ฟังก์ชันกับแต่ละองค์ประกอบใน DataFramedf.mean(): คำนวณค่าเฉลี่ยของแต่ละคอลัมน์ใน DataFramedf.std(): คำนวณส่วนเบี่ยงเบนมาตรฐานของแต่ละคอลัมน์ใน DataFrame
ข้อมูลการกรอง:
df.loc[condition]: ส่งคืนแถวของ DataFrame ที่ตรงตามเงื่อนไขที่ระบุdf.query(condition): ส่งคืนแถวของ DataFrame ที่ตรงตามเงื่อนไขที่ระบุโดยใช้สตริงการสืบค้น
df.sort_values(by=column): จัดเรียง DataFrame ตามคอลัมน์ที่ระบุdf.sort_index(): จัดเรียง DataFrame ตามดัชนี
df.groupby(column): จัดกลุ่ม DataFrame ตามคอลัมน์ที่ระบุgrouped.aggregate(function): ใช้ฟังก์ชันการรวมกับแต่ละกลุ่ม
df.merge(other_df): รวม DataFrame กับ DataFrame อื่นตามคอลัมน์ทั่วไปdf.join(other_df): รวม DataFrame กับ DataFrame อื่นตามดัชนีpd.concat([df1, df2]): เชื่อมต่อ DataFrame สองรายการขึ้นไปเข้าด้วยกันdf1.append(df2): ผนวก DataFrame หนึ่งเข้ากับ DataFrame อื่น
df.melt(id_vars=column): unpivots DataFrame จากรูปแบบกว้างเป็นรูปแบบยาวdf.pivot(index, columns, values): สร้าง DataFrame ใหม่ด้วยดัชนี คอลัมน์ และค่าที่ระบุdf.stack(): เปลี่ยน DataFrame จากรูปแบบกว้างเป็นรูปแบบยาว
df.groupby(column).sum(): คำนวณผลรวมของแต่ละกลุ่มdf.groupby(column).mean(): คำนวณค่าเฉลี่ยของแต่ละกลุ่มdf.groupby(column).max(): คำนวณสูงสุดของแต่ละกลุ่ม
df.rolling(window).mean(): คำนวณค่าเฉลี่ยการหมุนของคอลัมน์df.expanding().sum(): คำนวณผลรวมที่เพิ่มขึ้นของคอลัมน์
การจัดการสตริง:
df['column_name'].str.lower(): แปลงอักขระทั้งหมดในคอลัมน์เป็นตัวพิมพ์เล็กdf['column_name'].str.upper(): แปลงอักขระทั้งหมดในคอลัมน์เป็นตัวพิมพ์ใหญ่df['column_name'].str.strip(): ลบช่องว่างนำหน้าและต่อท้ายออกจากคอลัมน์df['column_name'].str.replace('old_value', 'new_value'): แทนที่ค่าที่เกิดขึ้นทั้งหมดในคอลัมน์ด้วยค่าใหม่
df['column_name'].str.contains('pattern'): ตรวจสอบว่าแต่ละองค์ประกอบในคอลัมน์ตรงกับรูปแบบนิพจน์ทั่วไปหรือไม่df['column_name'].str.extract('pattern'): แยกการเกิดขึ้นครั้งแรกของรูปแบบนิพจน์ทั่วไปจากแต่ละองค์ประกอบในคอลัมน์
df['column_name'].str.split('delimiter'): แบ่งแต่ละองค์ประกอบในคอลัมน์ออกเป็นรายการโทเค็นตามตัวคั่น
df[df['column_name'].str.contains('pattern')]: กรองแถวใน DataFrame โดยพิจารณาว่ารูปแบบนิพจน์ทั่วไปตรงกับค่าในคอลัมน์หรือไม่df[df['column_name'].str.len() > 10]: กรองแถวใน DataFrame ตามความยาวของค่าในคอลัมน์
df['column_name'].str.cat(sep='delimiter'): เชื่อมองค์ประกอบทั้งหมดในคอลัมน์ให้เป็นสตริงเดียว คั่นด้วยตัวคั่นdf['column_name'].str.get_dummies(): สร้าง DataFrame ที่เข้ารหัสแบบ one-hot จากคอลัมน์ที่มีค่าหมวดหมู่หลายค่า
แผนภูมิเส้น:
df.plot(): สร้างแผนภูมิเส้นของ DataFrame
df.plot(kind='bar'): สร้างแผนภูมิแท่งแนวตั้งของ DataFramedf.plot(kind='barh'): สร้างแผนภูมิแท่งแนวนอนของ DataFrame
df.plot(kind='pie'): สร้างแผนภูมิวงกลมของ DataFrame
df.plot(kind='scatter', x='column1', y='column2'): สร้างพล็อตกระจายของสองคอลัมน์ใน DataFrame
df.plot(kind='hist'): สร้างฮิสโตแกรมของ DataFrame
df.plot(kind='box'): สร้างพล็อตกล่องของ DataFrame
df.plot(kind='area'): สร้างแผนภูมิพื้นที่ของ DataFrame
อ่านข้อมูล:
pd.read_csv(file_path): อ่านข้อมูลจากไฟล์ CSV ลงใน DataFramepd.read_excel(file_path): อ่านข้อมูลจากไฟล์ Excel ลงใน DataFramepd.read_sql(query, connection): อ่านข้อมูลจากฐานข้อมูล SQL ไปยัง DataFramepd.read_json(file_path): อ่านข้อมูลจากไฟล์ JSON ลงใน DataFramepd.read_html(url): อ่านข้อมูลจากหน้า HTML ลงในรายการของ DataFramespd.read_clipboard(): อ่านข้อมูลจากคลิปบอร์ดไปยัง DataFrame
df.to_csv(file_path): เขียนข้อมูลจาก DataFrame ไปยังไฟล์ CSVdf.to_excel(file_path): เขียนข้อมูลจาก DataFrame ไปยังไฟล์ Exceldf.to_sql(table_name, connection): เขียนข้อมูลจาก DataFrame ไปยังตารางฐานข้อมูล SQLdf.to_json(file_path): เขียนข้อมูลจาก DataFrame ไปยังไฟล์ JSON
การจัดทำดัชนีเวลา:
pd.to_datetime(date_string): แปลงสตริงวันที่เป็นวัตถุวันที่และเวลาdf.set_index('datetime_column'): กำหนดคอลัมน์วันที่และเวลาเป็นดัชนีของ DataFrame
df.resample('D').mean(): สุ่มตัวอย่าง DataFrame ใหม่เป็นความถี่รายวันและคำนวณค่าเฉลี่ยสำหรับแต่ละวันdf.resample('M').sum(): สุ่มตัวอย่าง DataFrame ใหม่เป็นความถี่รายเดือนและคำนวณผลรวมสำหรับแต่ละเดือน
df.shift(1): เลื่อนค่าใน DataFrame ไปหนึ่งจุด
df.rolling(window=2).mean(): คำนวณค่าเฉลี่ยการหมุนของ DataFrame ในกรอบเวลาสองช่วงเวลา
df.tz_localize('UTC'): กำหนดเขตเวลาของ DataFrame เป็น UTCdf.tz_convert('US/Pacific'): แปลงโซนเวลาของ DataFrame เป็น US Pacific
pd.date_range(start='2020-01-01', end='2020-12-31', freq='D'): สร้างช่วงวันที่ตั้งแต่ 1 มกราคม 2020 ถึง 31 ธันวาคม 2020 ด้วยความถี่รายวัน
วิศวกรรมคุณสมบัติ:
df['new_column'] = df['column_1'] + df['column_2']: สร้างคอลัมน์ใหม่โดยเพิ่มสองคอลัมน์ที่มีอยู่df['new_column'] = df['column'].apply(function): ใช้ฟังก์ชันกับแต่ละค่าในคอลัมน์เพื่อสร้างคอลัมน์ใหม่df['new_column'] = pd.cut(df['column'], bins): สร้างคอลัมน์ใหม่โดยการรวมตัวแปรต่อเนื่อง
นี่คือรายการวิธีการที่ใช้เป็นประจำสองสามวิธี แต่หมีแพนด้ายังมีอีกมากมายที่จะนำเสนอ โปรดดูเอกสารอย่างเป็นทางการของหมีแพนด้าสำหรับความรู้โดยละเอียดเพิ่มเติม นอกจากนี้ วิธีการทั้งหมดเหล่านี้อาจมีการเปลี่ยนแปลงตามการปล่อยแพนด้ารุ่นใหม่ ดังนั้นโปรดตรวจสอบการเผยแพร่อย่างเป็นทางการก่อนใช้งานจริง





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)