写点什么

Python 教程之数据分析(5)—— 使用 Python 进行数据分析和可视化 | 第 2 套

  • 2022 年 9 月 07 日
    安徽
  • 本文字数:1560 字

    阅读完需:约 5 分钟

1. 以 CSV 格式存储 DataFrame:


Pandas 提供**to.csv('filename', index = "False|True")** 了将 DataFrame 写入 CSV 文件的功能。这*filename是您要创建的 CSV 文件的名称,并index告诉 DataFrame 的索引(如果默认)是否应该被覆盖。如果我们设置*index = False,则索引不会被覆盖。默认情况下,索引的值是TRUE**索引被覆盖。


例子 :


import pandas as pd
# 将三个系列分配给 s1、s2、s3s1 = pd.Series([0, 4, 8])s2 = pd.Series([1, 5, 9])s3 = pd.Series([2, 6, 10])
# 获取索引和列值dframe = pd.DataFrame([s1, s2, s3])
# 分配列名dframe.columns =['Geeks', 'For', 'Geeks']
# 将数据写入 csv 文件dframe.to_csv('geeksforgeeks.csv', index = False)dframe.to_csv('geeksforgeeks1.csv', index = True)
复制代码


输出 :



geeksforgeeks2.csv



2. 处理缺失数据


数据分析阶段还包括处理数据集中缺失数据的能力,Pandas 也达到了这一预期也就不足为奇了。这就是dropna和/或fillna方法发挥作用的地方。在处理缺失数据时,作为数据分析师,您应该删除包含 NaN 值的列(dropna 方法),或者使用整列条目的平均值或众数填充缺失数据(fillna 方法),这个决定是意义重大,取决于数据和影响将在我们的结果中产生。


  • 删除丢失的数据:

  • 考虑这是由以下代码生成的 DataFrame:



import pandas as pd
# 创建一个数据框dframe = pd.DataFrame({'Geeks': [23, 24, 22], 'For': [10, 12, np.nan], 'geeks': [0, np.nan, np.nan]}, columns =['Geeks', 'For', 'geeks'])
# 这将删除所有具有 NAN 值的行
# 如果未定义轴,则它沿行,即轴 = 0dframe.dropna(inplace = True)print(dframe)
# 如果轴等于 1dframe.dropna(axis = 1, inplace = True)
print(dframe)
复制代码


输出 :


axis=0



axis=1



填充缺失值:


现在,使用数据的平均值或模式替换任何 NaNfillna值,它可以根据要求替换特定列甚至整个 DataFrame 中的所有 NaN 值。


import numpy as npimport pandas as pd
# 创建一个数据框dframe = pd.DataFrame({'Geeks': [23, 24, 22], 'For': [10, 12, np.nan], 'geeks': [0, np.nan, np.nan]}, columns = ['Geeks', 'For', 'geeks'])
# 使用完整Dataframe的fillna
# 价值函数将应用于每一列dframe.fillna(value = dframe.mean(), inplace = True)print(dframe)
# 一列的填充值dframe['For'].fillna(value = dframe['For'].mean(), inplace = True)print(dframe)
复制代码


输出 :




3. Groupby 方法(聚合):


groupby 方法允许我们根据任何行或列将数据分组在一起,因此我们可以进一步应用聚合函数来分析我们的数据。使用 mapper(dict 或 key 函数,将给定函数应用于组,将结果作为系列返回)或一系列列对系列进行分组。


考虑这是由以下代码生成的 DataFrame:



import pandas as pdimport numpy as np
# 创建数据框dframe = pd.DataFrame({'Geeks': [23, 24, 22, 22, 23, 24], 'For': [10, 12, 13, 14, 15, 16], 'geeks': [122, 142, 112, 122, 114, 112]}, columns = ['Geeks', 'For', 'geeks'])
# 应用 groupby 和聚合函数 max 来查找列的最大值
print(dframe.groupby(['Geeks']).max())
复制代码


输出 :



本篇文章到此就结束了,相关文章:



感谢大家的阅读,有什么问题的话可以在评论中告诉我。希望大家能够给我来个点赞+收藏+评论 ,你的支持是海海更新的动力!后面我会持续分享前端 & 后端相关的专业知识。

发布于: 刚刚阅读数: 5
用户头像

公众号:海拥 2021.11.29 加入

【个人网站】haiyong.site 【联系方式】微信:wh18363 【软件技能】前端,Java,Python 【个人称号】InfoQ 写作社区签约作者,华为云享专家,CSDN原力作者,全栈领域优质创作者,掘金2021年度人气作者No.21

评论

发布
暂无评论
Python 教程之数据分析(5)—— 使用 Python 进行数据分析和可视化 |  第 2 套_Python_海拥(haiyong.site)_InfoQ写作社区