Pandas 常用函数详解
pandas 是 Python 中用于数据处理和分析的强大库,下面为你详细介绍一些 pandas 常用函数。1. 数据读取与写入函数
read_csv
用于读取 CSV 文件并将其转换为
DataFrame 对象。import pandas as pd
# 从 CSV 文件中读取数据
df = pd.read_csv('data.csv')
你可以通过指定参数来定制读取过程,例如指定分隔符、编码方式等。
# 指定分隔符为制表符,编码为 UTF - 8
df = pd.read_csv('data.csv', sep='\t', encoding='utf-8')
to_csv
将
DataFrame 对象写入 CSV 文件。# 创建一个示例 DataFrame
data = {
'Name': ['Alice', 'Bob'],
'Age': [25, 30]
}
df = pd.DataFrame(data)
# 将 DataFrame 写入 CSV 文件
df.to_csv('output.csv', index=False)
index=False 表示不将索引写入文件。2. 数据探查函数
head 和 tail
head:返回DataFrame或Series的前几行,默认返回前 5 行。
print(df.head())
tail:返回DataFrame或Series的后几行,默认返回后 5 行。
print(df.tail())
info
显示
DataFrame 的基本信息,包括列名、数据类型、非空值数量等。df.info()
describe
生成描述性统计信息,对于数值列,会计算计数、均值、标准差、最小值、25% 分位数、中位数、75% 分位数和最大值。
print(df.describe())
3. 数据选择与过滤函数
loc 和 iloc
loc:通过标签(行名和列名)来选择数据。
# 选择第一行和 'Name' 列的数据
print(df.loc[0, 'Name'])
iloc:通过整数位置来选择数据。
# 选择第一行和第一列的数据
print(df.iloc[0, 0])
query
用于根据条件筛选数据。
# 筛选出年龄大于 26 的数据
filtered_df = df.query('Age > 26')
print(filtered_df)
4. 数据处理函数
drop
用于删除行或列。
# 删除 'Age' 列
new_df = df.drop('Age', axis=1)
print(new_df)
axis = 1 表示删除列,axis = 0 表示删除行。fillna
用于填充缺失值。
# 创建一个包含缺失值的 DataFrame
import numpy as np
data = {
'Name': ['Alice', 'Bob', np.nan],
'Age': [25, np.nan, 30]
}
df = pd.DataFrame(data)
# 使用 0 填充缺失值
filled_df = df.fillna(0)
print(filled_df)
replace
用于替换数据中的值。
# 将 'Alice' 替换为 'Alicia'
replaced_df = df.replace('Alice', 'Alicia')
print(replaced_df)
5. 数据合并与分组函数
merge
用于合并两个
DataFrame,类似于 SQL 中的 JOIN 操作。# 创建两个示例 DataFrame
data1 = {
'ID': [1, 2],
'Name': ['Alice', 'Bob']
}
df1 = pd.DataFrame(data1)
data2 = {
'ID': [1, 2],
'Age': [25, 30]
}
df2 = pd.DataFrame(data2)
# 根据 'ID' 列合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='ID')
print(merged_df)
groupby
用于对数据进行分组,并可以对分组后的数据进行聚合操作。
# 创建一个示例 DataFrame
data = {
'Category': ['A', 'B', 'A', 'B'],
'Value': [10, 20, 30, 40]
}
df = pd.DataFrame(data)
# 按 'Category' 列分组,并计算每组的平均值
grouped = df.groupby('Category').mean()
print(grouped)
6. 数据排序函数
sort_values
用于对
DataFrame 或 Series 按指定列的值进行排序。# 按 'Age' 列升序排序
sorted_df = df.sort_values(by='Age')
print(sorted_df)
你可以通过设置
ascending=False 来进行降序排序。
浙公网安备 33010602011771号