python pandas中DataFrame类型数据操作函数的方法

  • Post category:Python

Python pandas 是数据分析与处理中常用的工具,DataFrame 是其中最常用的数据结构。本篇内容将介绍几个在 DataFrame 中常用的操作函数及方法。

1. DataFrame 创建和查看

1.1 创建 DataFrame

通过传递一个 numpy 或者 list 类型的字典来创建 DataFrame,例子如下:

import pandas as pd
import numpy as np

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

1.2 查看 DataFrame

DataFrame 可以通过 .head()、.tail() 或 .shape() 方法查看里面的内容和形状:

df.head() # 默认查看前五行
df.tail(2) # 查看后两行
df.shape # 输出 DataFrame 形状,即行数和列数

2. DataFrame 数据的选择与过滤

2.1 选择一列或多列

DataFrame 对于列的选择,可以通过 df[‘column_name’] 或者 df.column_name 的形式。多列选择,可以通过 df[[‘column_name_a’, ‘column_name_b’]] 实现。例如:

print(df['name']) 
print(df[['name', 'age']]) 

2.2 根据条件筛选数据

在 DataFrame 中,可以根据条件筛选出数据,可以用 df.loc[df[‘column_name’] condition, ‘column_name’] 或者 df.query(‘condition’)[‘column_name’] 实现。例如:

print(df.loc[df['age'] >= 30, 'name']) 
print(df.query('age<30')['name'])

3. DataFrame 的增删改查

3.1 数据增加

可以通过一下几个方法来增加 DataFrame 中的数据:

# 1. 增加一列数据
df['height'] = [168, 175, 172, 185]

# 2. 增加一行数据
df = df.append({'name':'Eva', 'age':28, 'gender':'F', 'height':169}, ignore_index=True)

# 3. 插入一行数据
df = pd.concat([df.loc[:1], pd.DataFrame({'name':['Jack'], 'age':[27], 'gender':['M'], 'height':[173]}), df.loc[2:]])

3.2 数据删除

可以通过以下几个方法来删除 DataFrame 中的数据:

# 1. 删除一列数据
df = df.drop('gender', axis=1)

# 2. 删除一行数据
df = df.drop(2, axis=0)

# 3. 删除多个行
df = df.drop([0,2], axis=0)

3.3 数据修改

可以通过以下方法来修改 DataFrame 中的数据:

# 1. 修改一列数据
df['age'] = [26, 33, 19, 48]

# 2. 修改一行数据
df.loc[1] = {'name':'Bob', 'age':33, 'gender':'M', 'height':177}

# 3. 修改多行数据
df.loc[2:, 'height'] = [180, 181]

通过本文的介绍,我们可以看到,pandas 中 DataFrame 类型数据的操作非常方便实用。