喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。
亲爱的数据探索者们,你们好!如果你对挖掘数据的深层含义充满好奇,那么这篇文章将是你的理想指南。请跟随我一起,我们将深入探索Python中的pandas库,这是数据分析的瑞士军刀。
首先,你需要先安装Python程序和开发环境:
「Python3.11.0」手把手教你安装最新版Python运行环境
Python启航:30天编程速成之旅(第2天)-IDE安装
【Python教程】JupyterLab 开发环境安装
在上一篇文章中,我们一起学习了数据分析中的关键步骤:如何选择数据。今天,我们将更进一步,学习如何处理缺失数据及操作数据。
处理缺失数据
对于 NumPy 数据类型,表示缺失数据。默认情况下,它不包括在计算中。
创建一个新的DataFrame df1,并重新指定索引为my_date中的前四个日期,同时增加一个新的列'第五次'到原有的列列表中。:
import pandas as pd
import numpy as np
# 使用pandas的date_range函数创建一个包含连续日期的PeriodRange对象。
# 这里从"20241001"(2024年10月1日)开始,创建7个连续日期。
my_date = pd.date_range("20241001", periods=7)
# 使用numpy的randn函数生成一个7行4列的随机数数组。
# 然后使用这些随机数和之前创建的日期索引来创建一个DataFrame。
# 数据框的列标签设置为中文'第一次', '第二次', '第三次', '第四次'。
df = pd.DataFrame(np.random.randn(7, 4), index=my_date, columns=['第一次', '第二次', '第三次', '第四次'])
# 创建一个新的DataFrame df1,并重新指定索引为my_date中的前四个日期,
# 同时增加一个新的列'第五次'到原有的列列表中。
df1 = df.reindex(index=my_date[0:4], columns=list(df.columns) + ["第五次"])
# 对于df1中位于my_date的第一个和第二个日期之间的行,
# 在新增加的'第五次'这一列上赋予值1。
df1.loc[my_date[0] : my_date[1], "第五次"] = 1
df
DataFrame.dropna() 删除df1中任何含有NaN值的行:
# 删除df1中任何含有NaN值的行
df1_cleaned = df1.dropna(how="any")
df1_cleaned
DataFrame.fillna() 使用5来填充df1中所有的NaN值:
# 使用5来填充df1中所有的NaN值
df1_filled = df1.fillna(value=5)
df1_filled
isna() 检查df1中哪些位置是NaN值:
# 检查df1中哪些位置是NaN值
is_na_df1 = pd.isna(df1)
is_na_df1
我们今天学习了如何对 DataFrame 的索引调整、NaN 值的处理等基本操作,这些都是数据分析中常用的技术。
喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。