首頁 > 軟體

Pandas中DataFrame的常用用法分享

2023-12-20 14:00:09

Pandas是Python中最流行的資料分析和處理工具之一,它提供了一個名為DataFrame的資料結構,可以被認為是一個二維表格或電子試算表,其中包含行和列。在本文中,我們將深入探討Pandas中DataFrame的各種常用的用法,包括建立DataFrame、選擇資料、修改資料、資料排序、資料統計、資料合併、資料分組和資料透視表等。

1.建立DataFrame

要建立DataFrame,可以使用Pandas中的DataFrame()函數。下面是一個例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)
print(df)

輸出:

       name  age gender
0     Alice   25      F
1       Bob   32      M
2   Charlie   18      M
3     David   47      M

2.選擇資料

在DataFrame中選擇資料有幾種方法。可以使用loc[]和iloc[]函數,也可以使用布林索引。下面是一些例子:

# 使用loc[]函數選擇資料
print(df.loc[0])          # 選擇第一行
print(df.loc[0:2])        # 選擇前三行
print(df.loc[0:2, 'name'])# 選擇前三行的name列

# 使用iloc[]函數選擇資料
print(df.iloc[0])         # 選擇第一行
print(df.iloc[0:2])       # 選擇前兩行
print(df.iloc[0:2, 0])    # 選擇前兩行的第一列

# 使用布林索引選擇資料
print(df[df['age'] > 30]) # 選擇年齡大於30的行

3.修改資料

要修改DataFrame中的資料,可以使用loc[]或iloc[]函數。下面是一個例子:

# 修改資料
df.loc[0, 'age'] = 26
print(df)

# 新增新資料
df.loc[4] = ['Eve', 29, 'F']
print(df)

# 刪除資料
df = df.drop(4)
print(df)

4.資料排序

要對DataFrame中的資料進行排序,可以使用sort_values()函數。下面是一個例子:

# 按年齡升序排序
df = df.sort_values('age')
print(df)

# 按年齡降序排序
df = df.sort_values('age', ascending=False)
print(df)

5.資料統計

要對DataFrame中的資料進行統計,可以使用describe()函數和其他函數,例如mean()、median()和std()。下面是一個例子:

# 描述資料
print(df.describe())

# 計算平均年齡
print(df['age'].mean())

# 計算年齡中位數
print(df['age'].median())

# 計算年齡標準差
print(df['age'].std())

6.資料合併

要合併兩個DataFrame,可以使用concat()函數。下面是一個例子:

# 建立第二個DataFrame
data2 = {'name': ['Frank', 'Grace'],
         'age': [39, 28],
         'gender': ['M', 'F']}
df2 = pd.DataFrame(data2)

# 合併兩個DataFrame
df = pd.concat([df, df2])
print(df)

7.資料分組

要按某些標準對DataFrame中的資料進行分組,可以使用groupby()函數。下面是一個例子:

# 按性別分組並計算平均年齡
print(df.groupby('gender')['age'].mean())

8.資料透視表

要建立資料透視表,可以使用pivot_table()函數。下面是一個例子:

# 建立資料透視表
print(pd.pivot_table(df, values='age', index='gender', columns='name'))

到此這篇關於Pandas中DataFrame的常用用法分享的文章就介紹到這了,更多相關Pandas DataFrame內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com