让我们通过几个案例来学习Pandas中Series和DataFrame的创建、访问、修改等基本操作,以及如何选择、过滤、排序和合并数据,以及处理缺失值和重复数据。
首先,我们将创建一个包含学生信息的DataFrame:
import pandas as pd
data = {
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [18, 19, 17, 20],
'性别': ['男', '女', '男', '女'],
'分数': [90, 85, 95, 80]
}
df = pd.DataFrame(data)
现在,我们有一个包含学生姓名、年龄、性别和分数的DataFrame。接下来,我们可以执行以下操作:
访问列:
# 获取所有分数
scores = df['分数']
print(scores)
# 获取平均年龄
average_age = df['年龄'].mean()
print(average_age)
访问行:
# 获取第一行数据
first_row = df.loc[0]
print(first_row)
# 获取第二行和第三行数据
rows = df.loc[1:2]
print(rows)
修改数据:
# 修改第四行的分数为75
df.loc[3, '分数'] = 75
print(df)
选择数据:
# 选择分数大于90的行
high_scores = df[df['分数'] > 90]
print(high_scores)
# 选择性别为女的行
female_students = df[df['性别'] == '女']
print(female_students)
排序数据:
# 按分数降序排序
sorted_df = df.sort_values(by='分数', ascending=False)
print(sorted_df)
合并数据:
# 创建第二个DataFrame
data2 = {
'姓名': ['小明', '小红'],
'年龄': [16, 17],
'性别': ['男', '女'],
'分数': [88, 92]
}
df2 = pd.DataFrame(data2)
# 合并两个DataFrame
merged_df = pd.concat([df, df2])
print(merged_df)
处理缺失值和重复数据:
# 添加一个含有缺失值的行
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中一些基础且常用的功能,您可以通过实践更多案例来进一步掌握和应用这些操作。