經過前兩天已經學會了Pandas使用drop的基本用法,
而今天要講的是一個很實用的語法dropna。
當資料量足夠多時,
若是資料中有NaN(Not a Number)時,
可評估是否把整列資料刪除,
而要刪除資料中所有包含NaN的資料時,
Pandas的dropna語法便能快速達到目的。
首先,先建立一個DataFrame
結構的資料,
或是有匯入的資料轉成DataFrame結構也行。
這邊為了方便對照,先印出完整的資料來看。
P.S這裡特別放入np.NaN與空字串的資料
studentsData = {
'studentId': ['001', '002', '003'],
'Name': ['A', 'B', 'C'],
'Height': [175, np.NaN , 164],
'Weight': [80, 45, 75],
'City': ['New York', 'Los Angeles', '']
}
students = pd.DataFrame(studentsData)
print(students)
印出資料如下
studentId Name Height Weight City
0 001 A 175.0 80 New York
1 002 B NaN 45 Los Angeles
2 003 C 164.0 75
這裡的語法非常簡單,
在資料後加上.dropna()
,
使用方式如下,
print(students.dropna())
印出資料如下,
這裡特別注意到的是含有NaN的列(列index為1)的資料已被刪除,
而含有空字串的列(列index為2)的資料依然存在,
可以知道dropna語法僅會針對NaN資料執行。
studentId Name Height Weight City
0 001 A 175.0 80 New York
2 003 C 164.0 75
今天的dropna語法在整理大量資料時非常實用,
畢竟在龐大資料量要整理時肯定不是件容易的事,
這個語法就能初步的將不需要的資料先做篩選,
請大家務必要學會喔。