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、s3 s1 = 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)
输出 :
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 值的行 # 如果未定义轴,则它沿行,即轴 = 0 dframe.dropna(inplace = True) print(dframe) # 如果轴等于 1 dframe.dropna(axis = 1, inplace = True) print(dframe)
输出 :
axis=0
axis=1
填充缺失值:
现在,使用数据的平均值或模式替换任何NaNfillna
值,它可以根据要求替换特定列甚至整个DataFrame中的所有 NaN 值。
import numpy as np 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']) # 使用完整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 pd import 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())
输出 :
感谢大家的阅读,有什么问题的话可以在评论中告诉我。希望大家能够给我来个点赞+收藏+评论 ,你的支持是海海更新的动力!后面我会持续分享前端 & 后端相关的专业知识。