python&Pandas一: 数据结构和基本操作

让我们通过几个案例来学习Pandas中Series和DataFrame的创建、访问、修改等基本操作,以及如何选择、过滤、排序和合并数据,以及处理缺失值和重复数据。

首先,我们将创建一个包含学生信息的DataFrame:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [18, 19, 17, 20],
    '性别': ['男', '女', '男', '女'],
    '分数': [90, 85, 95, 80]
}

df = pd.DataFrame(data)

现在,我们有一个包含学生姓名、年龄、性别和分数的DataFrame。接下来,我们可以执行以下操作:

  1. 访问列:

    # 获取所有分数
    scores = df['分数']
    print(scores)
    
    # 获取平均年龄
    average_age = df['年龄'].mean()
    print(average_age)
    
  2. 访问行:

    # 获取第一行数据
    first_row = df.loc[0]
    print(first_row)
    
    # 获取第二行和第三行数据
    rows = df.loc[1:2]
    print(rows)
    
  3. 修改数据:

    # 修改第四行的分数为75
    df.loc[3, '分数'] = 75
    print(df)
    
  4. 选择数据:

    # 选择分数大于90的行
    high_scores = df[df['分数'] > 90]
    print(high_scores)
    
    # 选择性别为女的行
    female_students = df[df['性别'] == '女']
    print(female_students)
    
  5. 排序数据:

    # 按分数降序排序
    sorted_df = df.sort_values(by='分数', ascending=False)
    print(sorted_df)
    
  6. 合并数据:

    # 创建第二个DataFrame
    data2 = {
        '姓名': ['小明', '小红'],
        '年龄': [16, 17],
        '性别': ['男', '女'],
        '分数': [88, 92]
    }
    df2 = pd.DataFrame(data2)
    
    # 合并两个DataFrame
    merged_df = pd.concat([df, df2])
    print(merged_df)
    
  7. 处理缺失值和重复数据:

    # 添加一个含有缺失值的行
    df.loc[4] = ['小七', None, '女', 79]
    print(df)
    
    # 删除含有缺失值的行
    df_dropna = df.dropna()
    print(df_dropna)
    
    # 去除重复行
    df_drop_duplicates = df.drop_duplicates()
    print(df_drop_duplicates)
    

通过这些案例,您可以了解到如何使用Pandas中的Series和DataFrame进行基本操作,以及如何选择、过滤、排序和合并数据,以及处理缺失值和重复数据的方法。这些是Pandas中一些基础且常用的功能,您可以通过实践更多案例来进一步掌握和应用这些操作。

你可能感兴趣的:(pandas,python)