一、DataFrame的基本概念
在Python中,DataFrame是一個非常常用的數據結構,它是一個二維的表格,每個列可以是不同的數據類型(例如數字、字符串、布爾值等),而且可以自定義行標籤和列標籤。通過pandas庫中的DataFrame類,我們可以輕鬆地讀取、寫入、操作和可視化這些數據。
下面是一個簡單的示例代碼,演示如何創建一個DataFrame:
import pandas as pd data = {'姓名': ['小明', '小紅', '小華'], '年齡': [18, 19, 20], '成績': [90, 95, 80]} df = pd.DataFrame(data) print(df)
輸出結果為:
姓名 年齡 成績 0 小明 18 90 1 小紅 19 95 2 小華 20 80
二、DataFrame的遍歷方式
1. 按列遍歷
最常見的遍歷方式是按列遍歷。我們可以使用DataFrame的列名來訪問每一列,然後通過for循環遍歷每個元素。下面是一個簡單的示例代碼:
import pandas as pd data = {'姓名': ['小明', '小紅', '小華'], '年齡': [18, 19, 20], '成績': [90, 95, 80]} df = pd.DataFrame(data) for column in df: print(df[column])
輸出結果為:
0 小明 1 小紅 2 小華 Name: 姓名, dtype: object 0 18 1 19 2 20 Name: 年齡, dtype: int64 0 90 1 95 2 80 Name: 成績, dtype: int64
我們也可以通過使用iteritems()函數,返回每個列名和列本身的一個元組。下面是示例代碼:
import pandas as pd data = {'姓名': ['小明', '小紅', '小華'], '年齡': [18, 19, 20], '成績': [90, 95, 80]} df = pd.DataFrame(data) for column_name, column_data in df.iteritems(): print(f"列名:{column_name}") print(f"列:{column_data}")
輸出結果如下:
列名:姓名 列:0 小明 1 小紅 2 小華 Name: 姓名, dtype: object 列名:年齡 列:0 18 1 19 2 20 Name: 年齡, dtype: int64 列名:成績 列:0 90 1 95 2 80 Name: 成績, dtype: int64
2. 按行遍歷
按行遍歷可以使用iterrows()函數,它會返回每一行的索引和行本身的元組。下面是示例代碼:
import pandas as pd data = {'姓名': ['小明', '小紅', '小華'], '年齡': [18, 19, 20], '成績': [90, 95, 80]} df = pd.DataFrame(data) for row_index, row_data in df.iterrows(): print(f"行索引:{row_index}") print(f"行:{row_data}")
輸出結果為:
行索引:0 行:姓名 小明 年齡 18 成績 90 Name: 0, dtype: object 行索引:1 行:姓名 小紅 年齡 19 成績 95 Name: 1, dtype: object 行索引:2 行:姓名 小華 年齡 20 成績 80 Name: 2, dtype: object
3. 迭代器(itertuples())
除了以上兩種方法,pandas還提供了itertuples()方法來遍歷DataFrame。itertuples()返回一個迭代器,每次迭代返回一個包含行的所有列的元組。下面是示例代碼:
import pandas as pd data = {'姓名': ['小明', '小紅', '小華'], '年齡': [18, 19, 20], '成績': [90, 95, 80]} df = pd.DataFrame(data) for row in df.itertuples(): print(row)
輸出結果為:
Pandas(Index=0, 姓名='小明', 年齡=18, 成績=90) Pandas(Index=1, 姓名='小紅', 年齡=19, 成績=95) Pandas(Index=2, 姓名='小華', 年齡=20, 成績=80)
三、DataFrame遍歷小結
以上介紹的三種遍歷方式,在實際應用中都非常常用。按列遍歷通常用於查找某一列的特定元素,按行遍歷通常用於遍歷所有數據或者進行條件判斷,而迭代器則可以用於在遍歷時同時訪問行和列的值。
以上內容僅僅是pandas庫中DataFrame遍歷的冰山一角。在實際應用中,我們還需要考慮到DataFrame的大小、檢索速度等因素,選擇合適的遍歷方式進行操作。希望本文內容能為讀者提供一些思路和參考。
原創文章,作者:YRCG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149807.html