iT邦幫忙

0

Python學習筆記: Pandas 欄位內容簡單分類

  • 分享至 

  • xImage
  •  

本文同步發表於小弟自架網站:微確幸資訊站

第一個範例:把大學分類為「公立」與「私立」:

mydict = {'學校名稱': {0: '國立政治大學',
  1: '國立臺灣大學',
  2: '國立臺北教育大學',
  3: '臺北市立大學',
  4: '國立臺灣科技大學',
  5: '東吳大學',
  6: '中國文化大學',
  7: '世新大學',
  8: '銘傳大學',
  9: '實踐大學',
  10: '大同大學',
  11: '臺北醫學大學'}}

df = pd.DataFrame(mydict)
df

https://ithelp.ithome.com.tw/upload/images/20221209/20122335a2G1mJYVJF.jpg

把學校簡單分類為「公立」及「私立」。

import numpy as np
# 第一種寫法
df['學校分類'] = np.where(df['學校名稱'].str.contains('國立|市立'), '公立', '私立')

# 第二種寫法
df['學校分類'] = np.where(df['學校名稱'].str.contains('|'.join(['國立','市立'])), '公立', '私立')

df

https://ithelp.ithome.com.tw/upload/images/20221209/20122335jzJmQdaOHu.jpg

第二個範例:把教育程度區分為「高中」及「非高中」

mydict = {'學歷': {0: '國小', 1: '國中', 2: '專科', 3: '高中', 4: '大學'}}
df = pd.DataFrame(mydict)
df

https://ithelp.ithome.com.tw/upload/images/20221209/20122335EGTaNrop2g.jpg

# 第一種寫法
df['教育程度'] = df['學歷'].where(df['學歷'].eq('高中'), '非高中')

# 第二種寫法
target = {'高中':'高中'}
df['教育程度'] = df['學歷'].map(target).fillna('非高中')

df

https://ithelp.ithome.com.tw/upload/images/20221209/20122335kNayyVvLNZ.jpg


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言