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 类型数据的操作非常方便实用。