7 Pandas DataFrame 基本操作

7 Pandas DataFrame 基本操作

在数据分析中,DataFrame 是 Pandas 中最核心的数据结构之一。本文将详细介绍 DataFrame 的基本操作,帮助你快速上手。

创建 DataFrame

可以通过多种方式创建 DataFrame,例如使用字典、列表或通过读取 CSV 文件等。

通过字典创建

1
2
3
4
5
6
7
8
9
10
import pandas as pd

data = {
'姓名': ['张三', '李四', '王五'],
'年龄': [25, 30, 27],
'城市': ['北京', '上海', '广州']
}

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

输出:

1
2
3
4
   姓名  年龄  城市
0 张三 25 北京
1 李四 30 上海
2 王五 27 广州

查看 DataFrame

使用 head()tail() 方法可以快速查看 DataFrame 的前几行和后几行数据。

1
2
print(df.head(2))  # 查看前两行
print(df.tail(1)) # 查看最后一行

选择列

可以通过列名直接选择 DataFrame 中的某一列。

1
2
# 选择“姓名”列
print(df['姓名'])

也可以选择多列:

1
2
# 选择“姓名”和“城市”列
print(df[['姓名', '城市']])

选择行

使用 ilocloc 方法可以选择 DataFrame 中的行。

通过索引位置选择

1
2
# 选择第一行
print(df.iloc[0])

通过标签选择

1
2
# 选择索引为0的行
print(df.loc[0])

条件筛选

可以使用条件表达式对数据进行筛选。

1
2
3
# 筛选年龄大于26的行
filtered_df = df[df['年龄'] > 26]
print(filtered_df)

添加新列

可以直接通过赋值的方式向 DataFrame 添加新列。

1
2
3
# 添加“工资”列
df['工资'] = [3000, 4000, 3500]
print(df)

删除列

使用 drop() 方法可以删除 DataFrame 中的列。

1
2
3
# 删除“工资”列
df = df.drop('工资', axis=1)
print(df)

修改值

可以通过索引位置或标签直接修改 DataFrame 中的值。

1
2
3
# 修改第一行的年龄
df.at[0, '年龄'] = 26
print(df)

统计分析

Pandas 提供了丰富的统计分析功能,可以快速计算数据的一些基本情况。

1
2
3
# 计算年龄的平均值
mean_age = df['年龄'].mean()
print(f"平均年龄: {mean_age}")

小结

本文介绍了 Pandas DataFrame 的基本操作,包括创建、查看、选择、筛选、添加、删除和修改等。掌握这些基础操作,你就能有效地处理和分析数据,帮助你在数据科学领域迈出坚实的一步。

8 从CSV文件读取数据

8 从CSV文件读取数据

在数据分析中,CSV(逗号分隔值)是一种常用的文件格式。Pandas库提供了简单易用的方法来读取和处理CSV文件。下面我们将详细讲解如何使用Pandas从CSV文件读取数据,并结合案例来帮助理解。

1. 导入Pandas库

首先,我们需要导入Pandas库。通常情况下,我们还会给它一个简短的别名pd

1
import pandas as pd

2. 使用read_csv读取CSV文件

Pandas提供了read_csv函数,用于读取CSV文件。基本用法如下:

1
data = pd.read_csv('file_path.csv')

这里的file_path.csv需要替换为你的CSV文件的实际路径。

案例:读取示例数据

假设我们有一个名为data.csv的文件,内容如下:

1
2
3
4
Name,Age,Gender
Alice,30,Female
Bob,25,Male
Charlie,35,Male

我们可以使用以下代码读取这个CSV文件:

1
2
data = pd.read_csv('data.csv')
print(data)

输出:

1
2
3
4
      Name  Age  Gender
0 Alice 30 Female
1 Bob 25 Male
2 Charlie 35 Male

3. 指定分隔符

如果你的CSV文件使用其他分隔符(如制表符\t或分号;),可以通过sep参数来指定:

1
data = pd.read_csv('file_path.csv', sep=';')

4. 处理缺失值

有时,CSV文件中可能包含缺失值。Pandas会自动识别大多数缺失值(如空字符串和NaN)。可以使用列名和isnull()函数来检查缺失值:

1
2
missing_values = data.isnull().sum()
print(missing_values)

5. 选择特定列

如果你只想读取CSV文件中的某些列,可以使用usecols参数:

1
2
data = pd.read_csv('data.csv', usecols=['Name', 'Age'])
print(data)

输出:

1
2
3
4
      Name  Age
0 Alice 30
1 Bob 25
2 Charlie 35

6. 设置索引列

可以通过index_col参数设置某一列作为索引。例如,我们可以将Name列作为索引:

1
2
data = pd.read_csv('data.csv', index_col='Name')
print(data)

输出:

1
2
3
4
5
         Age  Gender
Name
Alice 30 Female
Bob 25 Male
Charlie 35 Male

7. 跳过行数

如果CSV文件中前几行是无关信息,可以使用skiprows参数跳过这些行:

1
2
data = pd.read_csv('data.csv', skiprows=1)
print(data)

8. 指定数据类型

你可以通过dtype参数指定列的数据类型:

1
data = pd.read_csv('data.csv', dtype={'Age': int})

9. 示例:完整代码

下面是一个完整的示例代码,展示了如何读取CSV文件并进行一些基本的操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pandas as pd

# 读取数据
data = pd.read_csv('data.csv')

# 查看数据基本信息
print(data.info())

# 检查缺失值
print(data.isnull().sum())

# 选择特定列,并设置‘Name’为索引
data_selected = pd.read_csv('data.csv', usecols=['Name', 'Age'], index_col='Name')

# 打印结果
print(data_selected)

小结

使用Pandas读取CSV文件十分方便,通过read_csv函数,可以轻松处理各种格式和需求。希望这个简洁的教程可以帮助你掌握从CSV文件读取数据的基本技能。

9 从Excel读取数据

9 从Excel读取数据

在数据分析中,Excel 文件是最常见的数据存储格式之一。Pandas 提供了强大的功能来方便地读取和处理 Excel 文件。下面,我们将通过详细的步骤和示例,学习如何使用 Pandas 从 Excel 中读取数据。

准备工作

首先,确保已安装 Pandasopenpyxl(用于读取 Excel 文件)的库。可以通过以下命令安装:

1
pip install pandas openpyxl

读取 Excel 文件

使用 pandasread_excel 函数可以轻松读取 Excel 文件。基本语法如下:

1
2
3
4
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('文件路径.xlsx')

示例:读取 Excel 文件

假设我们有一个名为 sales_data.xlsx 的 Excel 文件,包含以下数据:

产品 销售额 日期
A 100 2023-01-01
B 150 2023-01-02
C 200 2023-01-03

我们可以使用以下代码读取该文件:

1
2
3
4
5
6
7
import pandas as pd

# 读取 sales_data.xlsx
df = pd.read_excel('sales_data.xlsx')

# 查看前几行数据
print(df.head())

指定工作表

如果 Excel 文件中有多个工作表(sheet),可以通过sheet_name参数指定要读取的工作表。例如:

1
df = pd.read_excel('sales_data.xlsx', sheet_name='2023年销售数据')

读取特定列

如果只想读取特定的列,可以使用 usecols 参数。例如,我们只想读取 产品销售额 列:

1
2
df = pd.read_excel('sales_data.xlsx', usecols=['产品', '销售额'])
print(df.head())

跳过特定行

在某些情况下,Excel 文件的前几行可能包含不必要的信息。我们可以使用 skiprows 参数跳过这些行。例如,跳过前两行:

1
2
df = pd.read_excel('sales_data.xlsx', skiprows=2)
print(df.head())

处理空值

读取数据后,可能会发现某些单元格为空。可以使用 isnull()dropna() 来处理这些空值:

1
2
3
4
5
6
# 查看空值
print(df.isnull().sum())

# 删除包含空值的行
df_cleaned = df.dropna()
print(df_cleaned)

总结

通过使用 Pandasread_excel 函数,我们可以轻松地从 Excel 文件中读取数据并进行初步处理。在实际的数据分析中,这些技巧可以帮助您快速掌握数据集,提高工作效率。

小提示

  • 如果 Excel 是 .xls 格式,可以使用 read_excel 函数直接读取,因为 Pandas 会自动处理。
  • 特定文件路径中需要使用原始字符串 (r”路径”) 防止转义字符的问题。

通过以上内容,您已经掌握了如何用 Pandas 从 Excel 文件中读取数据的基本技巧。接下来,可以尝试更多的 Pandas 数据处理操作。