-
pandas
是 Python 中一个非常流行和强大的数据分析库。它提供了高效的操作数据表和时间序列功能,广泛用于数据清洗、数据分析和数据可视化pip install pandas
javascript
import pandas as pd
- 常用数据结构 pandas 主要提供两个数据结构:
Series: 一维数组,带有标签(索引)。 DataFrame: 二维数据结构,类似于电子表格,由多行和多列组成。
- 创建 DataFrame 和 Series
- 创建 Series
ini
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
- 创建 DataFrame
bash
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
- 基本操作
ini
df = pd.read_csv('data.csv') # 从 CSV 文件读取数据
bash
print(df.head()) # 查看前几行
print(df.info()) # 查看数据概况
print(df.describe()) # 查看描述性统计
ini
选择列
ages = df['Age']
选择行
first_row = df.iloc[0] # 通过位置选择
bob_row = df[df['Name'] == 'Bob'] # 通过条件选择
ini
处理缺失值
df.dropna(inplace=True) # 删除含有缺失值的行
df.fillna(0, inplace=True) # 用0填充缺失值
重命名列
df.rename(columns={'Name': 'Full Name'}, inplace=True)
- 数据分析
ini
mean_age = df['Age'].mean() # 计算平均年龄
age_counts = df['Age'].value_counts() # 统计每个年龄的数量
ini
grouped = df.groupby('City').mean() # 按城市分组并计算每组的平均值print(grouped)
- 数据可视化:
虽然 pandas
主要是一个数据分析工具,但它可以与 matplotlib
或 seaborn
等可视化库集成以进行数据可视化。
scss
import matplotlib.pyplot as plt
绘制年龄分布图
df['Age'].hist()
plt.title('Age Distribution')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()
- 示例代码:下面是一个简单的示例,将上述部分拼凑在一起,展示如何操作
pandas
:
python
import pandas as pd
import matplotlib.pyplot as plt
创建 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [25, 30, 35, 40, None],
'City': ['New York', 'San Francisco', 'Los Angeles', 'New York', 'San Francisco']
}
df = pd.DataFrame(data)
处理缺失值
df['Age'].fillna(df['Age'].mean(), inplace=True)
统计分析
print(df.describe())
分组并求平均
grouped = df.groupby('City')['Age'].mean().reset_index()
print(grouped)
可视化
grouped.plot(x='City', y='Age', kind='bar')
plt.title('Average Age by City')
plt.xlabel('City')
plt.ylabel('Average Age')
plt.show()