1. # 生成画布,并设置画布的大小
    2. plt.figure(figsize=(6, 6))
    3. # 绘制柱状图
    4. plt.bar(x, height=y, color='darkorange', alpha=0.6)
    5. # 设置数据标签
    6. plt.text('第一季度', 59, 59, ha='center', va='bottom', fontsize=12)
    7. plt.text('第二季度', 70, 70, ha='center', va='bottom', fontsize=12)
    8. plt.text('第三季度', 68, 68, ha='center', va='bottom', fontsize=12)
    9. plt.text('第四季度', 56, 56, ha='center', va='bottom', fontsize=12)
    1. # 生成画布,并设置画布的大小
    2. plt.figure(figsize=(6, 6))
    3. # 设置 x/y坐标值
    4. x = pd.Series(['第一季度', '第二季度', '第三季度', '第四季度'])
    5. y = pd.Series([59, 70, 68, 56])
    6. # 绘制柱状图
    7. plt.bar(x, height=y, color='darkorange', alpha=0.6)
    8. # 绘制折线图
    9. plt.plot(x, y, color='dodgerblue')
    10. # 设置图表标题名及字体大小
    11. plt.title('闪光科技2020年各季度研发费用分布图', fontsize=20)
    12. # 设置坐标轴的刻度字体大小
    13. plt.xticks(fontsize=12)
    14. plt.yticks(fontsize=12)
    15. # 设置坐标轴的标题名及字体大小
    16. plt.xlabel('季度', fontsize=15)
    17. plt.ylabel('研发费用(百万元)', fontsize=15)
    18. # 设置图例
    19. plt.legend(['研发费用变化', '研发费用分布'])
    20. # 设置数据标签
    21. for a, b in zip(x, y):
    22. plt.text(a, b, b, ha='center', va='bottom', fontsize=12)
    23. # 保存画布,并设置保存路径
    24. plt.savefig('./工作/闪光科技2020年各季度研发费用分布图.png')
    1. # 生成画布,并设置画布的大小
    2. plt.figure(figsize=(6, 6))
    3. # 设置 x/y 坐标值
    4. x = order_number.index
    5. y = order_number.values
    6. # 绘制折线图,并调整线条、标记点的样式
    7. plt.plot(x, y, linewidth=3, color='r', marker='o',
    8. markerfacecolor='w', markersize=10)
    9. # 设置图表标题名及字体大小
    10. plt.title('各月总订单量趋势图', fontsize=20)
    11. # 设置坐标轴的刻度字体大小
    12. plt.xticks(fontsize=12)
    13. plt.yticks(fontsize=12)
    14. # 设置坐标轴的标题名及字体大小
    15. plt.xlabel('月份', fontsize=15)
    16. plt.ylabel('各月总订单量(百万)', fontsize=15)
    17. # 保存画布
    18. plt.savefig('./工作/各月总订单量趋势图.png')
    19. # 提取各省各月订单量数据
    20. month_order = mask_data_clean.groupby(['月份', '省'])['订单量'].sum()
    21. # 将多级索引的的Series对象转换成DataFrame对象
    22. month_order_df = month_order.unstack()
    23. # 查看各省各月订单量数据
    24. month_order_df
    25. # 调整画布大小
    26. plt.figure(figsize=(6, 6))
    27. # 设置 x/y 坐标值
    28. x = month_order_df.index
    29. y = month_order_df.values
    30. # 绘制折线图,并调整线条、标记点的样式
    31. plt.plot(x, y, linewidth=2, marker='o', markerfacecolor='w', markersize=10)
    32. # 设置图表标题名及字体大小
    33. plt.title('各省各月口罩订单量变化折线图', fontsize=20)
    34. # 设置坐标轴的刻度字体大小
    35. plt.xticks(fontsize=12)
    36. plt.yticks(fontsize=12)
    37. # 设置坐标轴的标题名及字体大小
    38. plt.xlabel('月份', fontsize=15)
    39. plt.ylabel('各省各月口罩订单量(百万)', fontsize=15)
    40. # 添加图例
    41. plt.legend(['其他', '广东', '江苏', '河南', '湖北', '湖南'])
    42. # 保存画布
    43. plt.savefig('./工作/各省各月口罩订单量变化折线图.png')
    44. # 生成画布,并设置画布的大小
    45. plt.figure(figsize=(6, 6))
    46. # 设置 x/y 坐标值
    47. x = mask_price.index
    48. y = mask_price.values
    49. # 绘制柱状图,并调整柱子的样式
    50. plt.bar(x, height=y, color=['r', 'g', 'g', 'g', 'g', 'b'], width=0.6, alpha=0.6)
    51. # 设置图表标题名及字体大小
    52. plt.title('各月平均单价分布图', fontsize=20)
    53. # 设置坐标轴的刻度字体大小
    54. plt.xticks(fontsize=12)
    55. plt.yticks(fontsize=12)
    56. # 设置坐标轴的标题名及字体大小
    57. plt.xlabel('月份', fontsize=15)
    58. plt.ylabel('各月平均单价(元)', fontsize=15)
    59. # 设置数据标签
    60. for a, b in zip(x, y):
    61. plt.text(a, b, '%.0f' % b, ha='center', va='bottom', fontsize=12)
    62. # 保存画布
    63. plt.savefig('./工作/各月平均单价分布图.png')
    1. # 导入 pandas 库并将其简化为 pd
    2. import pandas as pd
    3. # 导入matplotlib库的pyplot模块
    4. from matplotlib import pyplot as plt
    5. # 读取练习数据,文件路径为 './工作/exercise_clean.csv',文件编码为 'utf-8'
    6. exercise = pd.read_csv('./工作/exercise_clean.csv', encoding = 'utf-8')
    7. # 求出不同明细商品的总销售额
    8. sales_sum = exercise.groupby('明细')['订单金额'].sum()
    9. # 设置中文字体
    10. plt.rcParams['font.family'] = ['Source Han Sans CN']
    11. # 生成画布,并设置画布的大小
    12. (figsize=(6, 6))
    13. # 设置 x/y 坐标值
    14. x =
    15. y =
    16. # 绘制柱状图,并调整柱子的样式
    17. (x , height=y, width=0.6, alpha=0.6)
    18. # 设置图表标题名及字体大小
    19. ('各明细商品总销售额分布图', fontsize=20)
    20. # 设置坐标轴的刻度字体大小
    21. (fontsize=12)
    22. (fontsize=12)
    23. # 设置坐标轴的标题名及字体大小
    24. ('商品明细', fontsize=15)
    25. ('总销售额', fontsize=15)
    26. newgoods_df = pd.DataFrame(goods_info, columns=['名称', '单价', '库存', '地址'])
    27. newgoods_df
    28. # 创建一个 DataFrame 对象的数据
    29. humans_df = pd.DataFrame({'姓名': ['小猿', '小马', '小鱼', '小猫', '小龙'], '身高': ['165', '170', '160', '172', '178'], '体重': [56, 45, 60, 40, 70]})
    30. humans_df
    31. # 重置数据 sorted_goods 的行索引
    32. reset_goods = sorted_goods.reset_index(drop=True)
    33. reset_goods
    34. # 依照【单价】列的数据进行排序
    35. sorted_goods = newgoods_df.sort_values(by='单价')
    36. sorted_goods
    37. reset_goods['单价'] = round(reset_goods['单价'], 2)
    38. reset_goods
    39. 如果一个项集是频繁的,那么它的所有非空子集都是频繁的。
    40. 如果一个项集不是频繁的,那么它的所有超集也必然不是频繁的。
    1. from apyori import apriori
    1. RelationRecord(items=frozenset({'可乐'}), support=1.0, ordered_statistics=[OrderedStatistic(items_base=frozenset(), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    2. RelationRecord(items=frozenset({'薯条'}), support=0.75, ordered_statistics=[OrderedStatistic(items_base=frozenset(), items_add=frozenset({'薯条'}), confidence=0.75, lift=1.0)])
    3. RelationRecord(items=frozenset({'可乐', '奶茶'}), support=0.25, ordered_statistics=[OrderedStatistic(items_base=frozenset({'奶茶'}), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    4. RelationRecord(items=frozenset({'汉堡', '可乐'}), support=0.5, ordered_statistics=[OrderedStatistic(items_base=frozenset({'汉堡'}), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    5. RelationRecord(items=frozenset({'薯条', '可乐'}), support=0.75, ordered_statistics=[OrderedStatistic(items_base=frozenset(), items_add=frozenset({'薯条', '可乐'}), confidence=0.75, lift=1.0), OrderedStatistic(items_base=frozenset({'可乐'}), items_add=frozenset({'薯条'}), confidence=0.75, lift=1.0), OrderedStatistic(items_base=frozenset({'薯条'}), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    6. RelationRecord(items=frozenset({'薯条', '奶茶'}), support=0.25, ordered_statistics=[OrderedStatistic(items_base=frozenset({'奶茶'}), items_add=frozenset({'薯条'}), confidence=1.0, lift=1.3333333333333333)])
    7. RelationRecord(items=frozenset({'薯条', '可乐', '奶茶'}), support=0.25, ordered_statistics=[OrderedStatistic(items_base=frozenset({'奶茶'}), items_add=frozenset({'薯条', '可乐'}), confidence=1.0, lift=1.3333333333333333), OrderedStatistic(items_base=frozenset({'可乐', '奶茶'}), items_add=frozenset({'薯条'}), confidence=1.0, lift=1.3333333333333333), OrderedStatistic(items_base=frozenset({'薯条', '奶茶'}), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    8. RelationRecord(items=frozenset({'汉堡', '可乐', '薯条'}), support=0.25, ordered_statistics=[OrderedStatistic(items_base=frozenset({'汉堡', '薯条'}), items_add=frozenset({'可乐'}), confidence=1.0, lift=1.0)])
    1. # 调用 apriori 函数
    2. results = apriori(orders, min_support=0.2, min_confidence=0.7)
    3. # 遍历结果数据
    4. for result in results:
    5. # 获取支持度,并保留3位小数
    6. support = round(result.support, 3)
    7. # 遍历ordered_statistics对象
    8. for rule in result.ordered_statistics:
    9. # 获取前件和后件并转成列表
    10. head_set = list(rule.items_base)
    11. tail_set = list(rule.items_add)
    12. # 跳过前件为空的数据
    13. if head_set == []:
    14. continue
    15. # 将前件、后件拼接成关联规则的形式
    16. related_catogory = str(head_set)+'→'+str(tail_set)
    17. # 提取置信度,并保留3位小数
    18. confidence = round(rule.confidence, 3)
    19. # 提取提升度,并保留3位小数
    20. lift = round(rule.lift, 3)
    21. # 查看强关联规则,支持度,置信度,提升度
    22. print(related_catogory, support, confidence, lift)
    23. test1 = pd.DataFrame({'班级': [1, 2, 2, 1], '姓名': ['王薇', '刘敏', '陈芳', '袁芬']})
    24. test1 = test1.groupby(['班级']).sum()
    25. test1
    26. # 定义“格式转换”函数
    27. def conversion_data(category):
    28. # 判断文章类别是否已经转成了列表格式
    29. if str(category)[0] == '[':
    30. # 直接返回文章类别
    31. return category
    32. # 返回转成列表格式后的文章类别
    33. return [category]
    34. # 获取'文章类别'列,调用 agg() 方法
    35. analysis_data['文章类别'] = analysis_data['文章类别'].agg(conversion_data)
    36. # 查看处理后的数据
    37. analysis_data
    1. # 执行Apriori 算法
    2. results = apriori(adjusted_data['文章类别'], min_support=0.1, min_confidence=0.3)
    3. # 创建列表
    4. extract_result = []
    5. for result in results:
    6. # 获取支持度,并保留3位小数
    7. support = round(result.support, 3)
    8. # 遍历ordered_statistics对象
    9. for rule in result.ordered_statistics:
    10. # 获取前件和后件并转成列表
    11. head_set = list(rule.items_base)
    12. tail_set = list(rule.items_add)
    13. # 跳过前件为空的数据
    14. if head_set == []:
    15. continue
    16. # 将前件、后件拼接成关联规则的形式
    17. related_catogory = str(head_set)+'→'+str(tail_set)
    18. # 提取置信度,并保留3位小数
    19. confidence = round(rule.confidence, 3)
    20. # 提取提升度,并保留3位小数
    21. lift = round(rule.lift, 3)
    22. # 将提取的数据保存到提取列表中
    23. extract_result.append(
    24. [related_catogory, support, confidence, lift])
    25. # 将数据转成 DataFrame 的形式
    26. rules_data = pd.DataFrame(extract_result, columns=[
    27. '关联规则', '支持度', '置信度', '提升度'])
    28. # 将数据按照“支持度”排序
    29. sorted_by_support = rules_data.sort_values(by='支持度')
    30. # 查看排序后的数据
    31. sorted_by_support
    1. import matplotlib.pyplot as plt
    2. import warnings
    3. # 关闭警告显示
    4. warnings.filterwarnings('ignore')
    5. # 设置中文字体
    6. plt.rcParams['font.family'] = ['Source Han Sans CN']
    7. # 创建df数据
    8. hairs = pd.DataFrame([['许钢铁', 6, 5], ['王铁锤', 8, 7], ['林志龙', 9, 7]], columns=['姓名', '去年发量', '今年发量'])
    9. # 绘制基本柱状图
    10. plt.bar(hairs.index, height=hairs['去年发量'], width=0.4)
    11. plt.bar(hairs.index-0.2, height=hairs['去年发量'], width=0.4)

    image.png

    1. # 功能:绘制提升度大于 1 的强关联规则柱状图
    2. # 设置画布尺寸
    3. plt.figure(figsize=(20, 8))
    4. # 设置横纵坐标以及柱子的宽度
    5. width = 0.2
    6. # 画出柱状图
    7. plt.bar(promoted_rules.index-width/2, promoted_rules['支持度'], width=width)
    8. plt.bar(promoted_rules.index+width/2, promoted_rules['置信度'], width=width)
    9. # 设置图例
    10. plt.legend(['支持度', '置信度'], fontsize=20)
    11. # 设置标题
    12. plt.title('促进关系的关联规则的支持度、置信度', fontsize=25)
    13. # 设置刻度名称
    14. plt.xticks(promoted_rules.index, promoted_rules['关联规则'], fontsize=15)
    15. # 设置坐标轴标签
    16. plt.xlabel('关联规则', fontsize=20)
    17. plt.ylabel('数值', fontsize=20)
    18. # 功能:绘制提升度小于 1 的强关联规则柱状图
    19. # 设置画布尺寸
    20. plt.figure(figsize=(20, 8))
    21. # 画出柱状图
    22. plt.bar(restricted_rules.index-width/2, restricted_rules['支持度'], width=width)
    23. plt.bar(restricted_rules.index+width/2, restricted_rules['置信度'], width=width)
    24. # 设置图例
    25. plt.legend(['支持度', '置信度'], fontsize=20)
    26. # 设置标题
    27. plt.title('抑制关系的关联规则的支持度、置信度', fontsize=25)
    28. # 设置刻度名称
    29. plt.xticks(restricted_rules.index, restricted_rules['关联规则'], fontsize=15)
    30. # 设置坐标轴标签
    31. plt.xlabel('关联规则', fontsize=20)
    32. plt.ylabel('数值', fontsize=20)

    image.png

    1. # 功能:绘制提升度柱状图
    2. # 设置画布尺寸
    3. plt.figure(figsize=(20, 8))
    4. # 画出柱状图
    5. plt.bar(sorted_by_support.index, sorted_by_support['提升度'], width=width)
    6. # 设置标题
    7. plt.title('提升度柱状图', fontsize=25)
    8. # 设置刻度名称
    9. plt.xticks(sorted_by_support.index, sorted_by_support['关联规则'], fontsize=15)
    10. # 设置坐标轴标签
    11. plt.xlabel('关联规则', fontsize=20)
    12. plt.ylabel('提升度', fontsize=20)
    13. # 设置数据标签
    14. for a, b in zip(sorted_by_support.index, sorted_by_support['提升度']):
    15. plt.text(a, b, b, ha='center', va='bottom', fontsize=12)

    支持度=Support=P(A&B)
    置信度=Confidence=P(A&B)/P(A)
    提升度=Lift=( P(A&B)/P(A))/P(B)=P(A&B)/P(A)/P(B)

    1. # 导入 matplotlib 库
    2. import matplotlib.pyplot as plt
    3. # 设置字体
    4. plt.rcParams['font.family'] = ['Source Han Sans CN']
    5. # 设置画布尺寸
    6. plt.figure(figsize=(20, 8))
    7. # 画出以置信度为高度的柱状图,x 坐标为 rules_data.index-0.1,设置柱子的宽度为 0.2
    8. plt.bar(rules_data.index-0.1, rules_data['置信度'], width=0.2)
    9. # 画出以支持度为高度的柱状图,x 坐标为 rules_data.index+0.1,设置柱子的宽度为 0.2
    10. plt.bar(rules_data.index+0.1, rules_data['支持度'], width=0.2)
    11. # 导入 matplotlib 库
    12. import matplotlib.pyplot as plt
    13. # 设置字体
    14. plt.rcParams['font.family'] = ['Source Han Sans CN']
    15. # 设置画布尺寸
    16. plt.figure(figsize=(20, 8))
    17. # 画出以置信度为高度的柱状图,x 坐标为 rules_data.index-0.1,设置柱子的宽度为 0.2
    18. plt.bar(rules_data.index-0.1, rules_data['置信度'], width=0.2)
    19. # 画出以支持度为高度的柱状图,x 坐标为 rules_data.index+0.1,设置柱子的宽度为 0.2
    20. plt.bar(rules_data.index+0.1, rules_data['支持度'], width=0.2)
    21. # 设置名称分别为置信度、支持度的图例,设置字体大小(fontsize)为 15
    22. plt.legend(['置信度', '支持度'], fontsize=15)
    23. # 设置标题为“关联规则的置信度、支持度柱状图”,设置字体大小(fontsize)为 20
    24. plt.title('关联规则的置信度、支持度柱状图', fontsize=20)
    25. # 设置刻度名称为对应的“关联规则”,刻度间隔为 rules_data.index
    26. plt.xticks(rules_data.index, rules_data['关联规则'])
    27. # 设置坐标轴标签
    28. plt.xlabel('关联规则', fontsize=15)
    29. plt.ylabel('数值', fontsize=15)
    30. # 部分唐朝诗人数据
    31. df_2 = pd.DataFrame({'诗人': ['白居易', '李白', '杜甫', '王勃', '王维'],
    32. '称号': ['诗魔', '诗仙', '诗圣', '诗杰', '诗佛'],
    33. '年龄': [74, 61, 58, 26, 60],
    34. '诗歌大致数量': [3000, 900, 1500, 80, 400]})
    35. # 按诗人的诗歌大致数量从高到低进行排序并重置行索引
    36. df_2 = df_2.sort_values(by='诗歌大致数量', ascending=False).reset_index(drop=True)
    37. # 查看数据
    38. df_2
    39. # 部分唐朝诗人数据
    40. df_3 = pd.DataFrame({'诗人': ['白居易', '李白', '杜甫', '王勃', '王维'],
    41. '称号': ['诗魔', '诗仙', '诗圣', '诗杰', '诗佛'],
    42. '年龄': [74, 61, 58, 26, 60],
    43. '诗歌大致数量': [3000, 900, 1500, 80, 400]})
    44. # 按诗人的诗歌大致数量从高到低进行排序并重置行索引
    45. df_3 = df_3.sort_values(by='诗歌大致数量', ascending=False, ignore_index=True)
    46. # 查看数据
    47. df_3
    48. # 带有重复行的部分唐朝诗人数据
    49. df_5 = pd.DataFrame({'诗人': ['白居易', '李白', '杜甫', '王勃', '王勃', '王维'],
    50. '称号': ['诗魔', '诗仙', '诗圣', '诗杰', '诗杰', '诗佛'],
    51. '年龄': [74, 61, 58, 26, 26, 60],
    52. '诗歌大致数量': [3000, 900, 1500, 80, 80, 400]})
    53. # 使用 drop_duplicates() 方法删除重复行并用 ignore_index 参数重置行索引
    54. df_5 = df_5.drop_duplicates(ignore_index=True)
    55. # 查看数据
    56. df_5
    1. # 将数据写入到【新成绩单.xlsx】工作簿中的【2 班】工作表
    2. data_2.to_excel('新成绩单.xlsx', sheet_name='2 班', index=False)
    3. data_5['总分'] = data_5['语文'] + data_5['数学'] + data_5['英语'].astype(int)
    4. data_5
    5. data_6 = pd.DataFrame({'商品名':['猪头皮', '醋', '高压锅'], '单价': [10, 13, 800], '数量':['5', '2', '1']})
    6. data_6
    7. # 创建一个 DataFrame 对象的数据
    8. data_7 = pd.DataFrame({'性别':['难', '女', '难', '女', '女'],
    9. '城市':['.', '潮州市', '山头市', '汕尾市', '山头市'],
    10. '年龄':[25, 26, 24, 25, 26],
    11. '爱好':['蓝球', '跑步', '跳舞', '逛街', '读书']})
    12. data_7
    13. # 定义字典 fix_typo
    14. fix_typo = {'山头市':'汕头市', '蓝球':'篮球'}
    15. # 对【城市】、【爱好】列的错字进行修改
    16. data_7 = data_7.replace(fix_typo)
    17. data_7
    18. # 定义字典 fix_typo
    19. fix_typo = {'山头市':'汕头市', '蓝球':'篮球'}
    20. # 对【城市】列的错字进行修改
    21. data_7['城市'] = data_7['城市'].replace(fix_typo)
    22. data_7
    1. # 按【用户 ID】分组后,获取【时间间隔】列的最小值、【订单号】列的数量,以及【总金额】列的总和
    2. rfm_data = grouped_data.groupby('用户 ID', as_index=False).agg({'时间间隔': 'min', '订单号': 'count', '总金额': 'sum'})
    3. # 导入 pandas 库
    4. import pandas as pd
    5. # 书籍的部分销售数据
    6. df_1 = pd.DataFrame({
    7. '书名': ['狂人日记', '活着', '狂人日记', '格林童话', '活着', '格林童话', '周易', '论语', '活着', '论语', '狂人日记', '周易'],
    8. '销售金额': [30, 50, 90, 40, 25, 60, 50, 120, 25, 40, 60, 50],
    9. '数量': [1, 2, 3, 2, 1, 3, 1, 3, 1, 1, 2, 1]
    10. })
    11. # 根据`书名`进行分组,同时对销售金额和数量进行求和,要包含自带的行索引
    12. df_1 = df_1.groupby(by='书名', as_index=False).sum()
    13. # 查看数据
    14. df_1
    15. # 根据`书名`进行分组,同时对销售金额和数量进行求和,不包含自带的行索引,用书名作为行索引
    16. df_2 = df_2.groupby(by='书名', as_index=True).sum()
    17. # 查看数据
    18. df_2
    19. # 某男子私立大学三名延毕学生数据
    20. df_4 = pd.DataFrame({'姓名': ['零某某', '徐放牛', '文学'],
    21. '性别': ['男', '女', '女'],
    22. '专业': ['生物信息', '人工智能', '文学'],
    23. '挂科次数': ['7', '5', '4'],
    24. '旷课次数': [45, 44, 30]})
    25. # 新建一个总次数列来计算挂科次数和旷课次数的和
    26. df_4['总次数'] = df_4['挂科次数'].astype(int) + df_4['旷课次数']
    27. # 查看数据
    28. df_4
    29. # 某男子私立大学三名延毕学生数据
    30. df_5 = pd.DataFrame({'姓名': ['零某某', '徐放牛', '文学'],
    31. '性别': ['男', '女', '女'],
    32. '专业': ['生物信息', '人工智能', '文学'],
    33. '挂科次数': ['7', '5', '4'],
    34. '旷课次数': [45, 44, 30],
    35. '总次数': [52, 49, 34]})
    36. # 第一种方式:对所有列的指定数据进行批量替换
    37. data_1 = df_5.replace({'女': '男', '文学': '电子竞技'})
    38. # 第二种方式:对指定列的指定数据进行批量替换
    39. data_2 = df_5
    40. # 替换性别
    41. data_2['性别'] = data_2['性别'].replace({'女': '男'})
    42. # 替换专业
    43. data_2['专业'] = data_2['专业'].replace({'文学': '电子竞技'})
    44. # 打印结果
    45. print(data_1)
    46. print(data_2)
    47. # 某男子私立大学三名延毕学生数据
    48. df_7 = pd.DataFrame({'姓名': ['零某某', '徐放牛', '文学'],
    49. '性别': ['男', '男', '男'],
    50. '专业': ['生物信息', '人工智能', '电子竞技'],
    51. '挂科次数': ['7', '5', '4'],
    52. '旷课次数': [45, 44, 30],
    53. '总次数': [52, 49, 34]})
    54. # 先定义一个函数
    55. def map_judge(x):
    56. if x >= 50:
    57. return "开除"
    58. else:
    59. return "延毕"
    60. # 将函数 map_judge 作为参数传入 df.map()
    61. df_7['总次数'] = df_7['总次数'].map(map_judge)
    62. # 查看数据
    63. df_7