Pandas DataFrame入门教程(图解版)

作者:新兰2024.01.17 21:07浏览量:92

简介:Pandas是一个强大的Python数据分析库,而DataFrame是Pandas的核心数据结构。本教程将通过图解的方式,帮助你快速理解并掌握DataFrame的基本操作。

Pandas是一个强大的Python数据分析库,而DataFrame是Pandas的核心数据结构。DataFrame既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等。
一、创建空的DataFrame对象
使用下列方式创建一个空的DataFrame,这是DataFrame最基本的创建方法:

  1. import pandas as pd
  2. df = pd.DataFrame()
  3. print(df)

输出结果如下:

  1. Empty DataFrame
  2. Columns: []
  3. Index: []

二、使用列表创建DataFrame对象
可以使用单一列表或嵌套列表来创建一个DataFrame。例如:

  1. import pandas as pd
  2. data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
  3. df = pd.DataFrame(data)
  4. print(df)

输出结果如下:

  1. name age gender
  2. 0 Alice 25 F
  3. 1 Bob 30 M
  4. 2 Charlie 35 M

在上述代码中,我们首先定义了一个字典data,其中包含了三个键值对,分别表示姓名、年龄和性别。然后,我们将这个字典传递给pd.DataFrame()函数,创建了一个新的DataFrame对象。最后,我们打印出这个DataFrame,可以看到它包含了三列数据,分别是姓名、年龄和性别。每列数据的标签就是我们字典中的键。
三、DataFrame的基本操作

  1. 读取数据:可以使用Pandas提供的read_csv()函数从CSV文件中读取数据到DataFrame对象中。例如:
    1. import pandas as pd
    2. df = pd.read_csv('data.csv')
    3. print(df)
  2. 修改数据:可以通过直接赋值或者使用Pandas提供的函数来修改DataFrame中的数据。例如:
    python df['age'][0] = 26 # 将第一行的年龄改为26 df['gender'].iloc[0] = 'M' # 将第一行的性别改为男 df['score'] = [85, 90, 95] # 添加一列分数,并赋值为85、90、95 df['new_column'] = df['age'] * 2 # 添加一列新列,值为年龄的两倍(这里假设年龄列存在) df.loc[1, 'score'] = 92 # 修改第二行的分数为92 df.loc[2, 'new_column'] = df.loc[2, 'age'] * 3 # 修改第三行的新列为年龄的三倍(这里假设年龄列存在)python
  3. 删除数据:可以使用Pandas提供的drop()函数删除DataFrame中的行或列。例如:
    1. df = df.drop(columns=['age']) # 删除名为'age'的列
    2. df = df.drop(index=[0]) # 删除第一行
    3. df = df.drop(index=[0, 1]) # 删除第一行和第二行
  4. 分组与聚合:可以使用Pandas提供的groupby()函数对数据进行分组和聚合。例如:
    1. grouped = df.groupby('gender') # 按性别分组
    2. mean_age = grouped['age'].mean() # 计算每个性别的平均年龄
  5. 数据排序:可以使用Pandas提供的sort_values()函数对数据进行排序。例如:
    1. sorted_df = df.sort_values(by='age') # 按年龄升序排序
    2. sorted_df = df.sort_values(by='age', ascending=False) # 按年龄降序排序
  6. 数据筛选:可以使用Pandas提供的loc[]iloc[]函数对数据进行筛选。例如:
    ```python
    selected_df = df.loc[df[‘age