[Python]pandas基本操作,查看、新增、修改資料

更新於 發佈於 閱讀時間約 1 分鐘

本文主要介紹如何使用pandas來查看、新增、修改資料。

[Python ]pandas讀取寫入CSV 與Excel文件

[Python ]資料分析工具pandas基礎介紹

本文將使用kaggle平台上的數據資料來實作說明。


基本操作

查看資料

  • df.head():顯示前5行數據。
  • df.tail():顯示後5行數據。
  • df.info():顯示數據的完整資訊。
  • df.describe():統計描述數據。

選取資料

  • 單列選取:df['Name']
  • 多列選取:df[['Name', 'Age']]
  • 條件選取:df[df['Age'] > 25]

修改資料

新增列

df['NewColumn'] = [1, 2, 3, 4]

修改值

df.at[0, 'Name'] = 'Alicia'

刪除列

df.drop('NewColumn', axis=1, inplace=True)

程式範例

第一步先讀取資料,上Kaggle下載數據集,但先去創辦會員才可以下載喔。


raw-image

讀取數據集並查看

df.info() :

提供了一個簡潔而全面的數據介面,讓你能夠快速了解數據集的結構和狀況,有多少筆資料,缺失值有多少,欄位有幾個,是什麼型別。

import pandas as pd
df = pd.read_csv('F:/python/crab/pandas/MentalHealthSurvey.csv')
df.info()

顯示行索引的範圍(如 RangeIndex: 0 to 86, 87 entries),表示 DataFrame 共有多少行。有多少筆數據。

raw-image
  • <class 'pandas.core.frame.DataFrame'>: 表示這是一個 DataFrame。
  • RangeIndex: 87 entries, 0 to 86: 表示 DataFrame 有 87 行,行索引範圍從 0 到 86。
  • Data columns (total 21 columns):: 表示 DataFrame 有 3 列。
  • #: 列的順序編號。
  • Column: 列名。
  • Non-Null Count: 每列中非空(非 NaN)數值的數量。
  • Dtype: 每列的數據類型,object 表示字符串,int64 表示正整數。
  • dtypes: int64(10), object(11): 表示 DataFrame 中有 10 列是 int64類型,有 11 列是 object 類型。
  • memory usage: 14.4+ KB: 表示這個 DataFrame 佔用了大約 14.4+ K的內存


讀取統計資料

df.describe():

特別適合快速查看數據的整體概況,尤其是針對數值型欄位,但如果 DataFrame 中有非數值型的欄位,這些欄位不會被列入統計。

df.describe()
raw-image
  • Count(計數):每個欄位中非缺失值(非 NaN)的數量。
  • Mean(平均值):每個欄位的平均值。
  • Std(標準差):標準差,用來衡量數據的分散程度。
  • Min(最小值):每個欄位的最小值。
  • 25%(第一四分位數):數據中的 25% 分位值。
  • 50%(中位數或第二四分位數):數據的中位數,也稱作 50% 分位值。
  • 75%(第三四分位數):數據中的 75% 分位值。
  • Max(最大值):每個欄位的最大值。

選取資料

選取單列資料顯示。

df['gender']

印出gender這列資料顯示

raw-image



新增資料

df 中的行數必須與 new_data 的長度一致。如果 DataFrame 的行數與新欄位的資料數量不符,會引發錯誤。

new_data = list(range(1, 88))  # 生成從 187 的數字
df['NewColumn'] = new_data
df.info()

這樣就新增NewColumn這個欄位的資料了。

raw-image

修改值

只更新單一索引位子的值

print(df['NewColumn'][0])
df.at[0, 'NewColumn'] = 2 # 修改單一值
df['NewColumn'][0]
raw-image

整個更新

直接重新指定就能替換掉整行數據囉,但要注意長度要一致。

new_data = list(range(2, 89))  # 生成從 288的數字
df['NewColumn'] = new_data

部分資料進行更新

可以用切片的方式來進行部分資料更新。

df['ExistingColumn'][:3] = [87,87,87]
df['NewColumn'].head() #印出前5
raw-image



刪除列

df.drop('NewColumn', axis=1, inplace=True)

  • 'NewColumn': 這是你想要刪除的欄位名稱。
  • axis=1: axis 參數指定了要刪除的是欄位(column)還是列(row)。axis=1 表示操作的是欄位;如果是 axis=0,則表示操作的是列。
  • inplace=True: 表示直接在原 DataFrame 上進行修改,而不會返回新 DataFrame。如果設為 False(預設值),會返回一個刪除指定欄位後的新 DataFrame,而原 DataFrame 保持不變。

範例

df.drop('NewColumn', axis=1, inplace=True)
df.info()
raw-image




留言
avatar-img
留言分享你的想法!
小松鼠-avatar-img
2024/08/26
小松鼠前來支持螃蟹和大熊貓~
螃蟹_crab-avatar-img
發文者
2024/08/26
小松鼠 金感心😂😂
螃蟹_crab-avatar-img
發文者
2024/08/29
avatar-img
螃蟹_crab的沙龍
147會員
279內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2024/09/14
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
Thumbnail
2024/09/14
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
Thumbnail
2024/09/01
包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。 如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index() 方法。 實作範例數據來源 處理步驟 確保日期欄位是 datetime
Thumbnail
2024/09/01
包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。 如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index() 方法。 實作範例數據來源 處理步驟 確保日期欄位是 datetime
Thumbnail
2024/09/01
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
2024/09/01
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將所有的column資料欄位名稱重新命名。 id 改名為 student_id first 改名為 first_name last 改名為 last_name age 改名為 age_in_year
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們在原有的資料表上,將所有的column資料欄位名稱重新命名。 id 改名為 student_id first 改名為 first_name last 改名為 last_name age 改名為 age_in_year
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們回傳student_id為101的這筆資料,並且列出它的"name"和"age"欄位。 題目的原文敘述 測試範例 Example 1: Input: +------------+---------+-----+ |
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們回傳student_id為101的這筆資料,並且列出它的"name"和"age"欄位。 題目的原文敘述 測試範例 Example 1: Input: +------------+---------+-----+ |
Thumbnail
題目敘述 題目會給定一個python list形式的輸入,要求我們把它轉換成pandas dataframe的形式做輸出。並且指定column名稱分別為student_id, 和 age 題目的原文敘述 測試範例
Thumbnail
題目敘述 題目會給定一個python list形式的輸入,要求我們把它轉換成pandas dataframe的形式做輸出。並且指定column名稱分別為student_id, 和 age 題目的原文敘述 測試範例
Thumbnail
繼「【Google Colab Python系列】 資料處理神器 Pandas 起手式」之後,相信對於各位來說已經是小兒科了吧,沒關係! 我們今天來增加一點點小挑戰,你知道嗎? Pandas對於大部分人的第一印象就是「不就表格化而已,有什麼了不起?」、「幫我們整理格式轉換的介接器」...,但其實它不
Thumbnail
繼「【Google Colab Python系列】 資料處理神器 Pandas 起手式」之後,相信對於各位來說已經是小兒科了吧,沒關係! 我們今天來增加一點點小挑戰,你知道嗎? Pandas對於大部分人的第一印象就是「不就表格化而已,有什麼了不起?」、「幫我們整理格式轉換的介接器」...,但其實它不
Thumbnail
過往我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度, 需
Thumbnail
過往我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度, 需
Thumbnail
我們都知道AI的模型訓練環節中, 最基礎也是最重要的一環就是「資料」了, 而「資料」要怎麼處理成訓練的養分也是一門重要的工程, 正好在Python的世界裡具有這麼一套神兵利器, 名為「Pandas」, 它是一個快速、強大、靈活且易於使用的開源數據分析和操作工具, 就讓我們好好的來認識一番吧! 乍聽
Thumbnail
我們都知道AI的模型訓練環節中, 最基礎也是最重要的一環就是「資料」了, 而「資料」要怎麼處理成訓練的養分也是一門重要的工程, 正好在Python的世界裡具有這麼一套神兵利器, 名為「Pandas」, 它是一個快速、強大、靈活且易於使用的開源數據分析和操作工具, 就讓我們好好的來認識一番吧! 乍聽
Thumbnail
在上一篇的文章中,我們提到關於開啟CSV文件的方式,從單純的當作純文字文件開啟,到引入Python內建的csv模組對CSV類型的檔案做基本的讀寫操作,在這篇文章中,我們將再進一步使用Pandas這套強大的工具,來簡化CSV文件處理的流程。
Thumbnail
在上一篇的文章中,我們提到關於開啟CSV文件的方式,從單純的當作純文字文件開啟,到引入Python內建的csv模組對CSV類型的檔案做基本的讀寫操作,在這篇文章中,我們將再進一步使用Pandas這套強大的工具,來簡化CSV文件處理的流程。
Thumbnail
在昨天的教學中,我們用了自己創立的DataFrame做了一些基礎的操作教學,今天我們就來點實際的教學,透過真實的csv檔來一步步學習該如何處理吧!!
Thumbnail
在昨天的教學中,我們用了自己創立的DataFrame做了一些基礎的操作教學,今天我們就來點實際的教學,透過真實的csv檔來一步步學習該如何處理吧!!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News