本文将探索Python库pandas,继续讨论该库中对于数据分析而言最重要的5个函数。
6.合并数据帧
可以横向或纵地向合并多个数据帧,它将连接两个数据帧并返回一个合并后的数据帧。
combined_df = pd.concat([df1, df2])
可以根据一个共同的列合并两个数据帧,当想要合并共享公共标识符的两个数据框时,这种方法非常有用。
merged_df = pd.merge(df1, df2, on="common_col")
7.应用自定义函数
根据需要在行或列上应用自定义函数:
def cus_fun(x):
return x * 3
df["Sales_Tripled"] = df["SALES"].apply(cus_fun, axis=0)
这里编写了一个自定义函数,将每行的销售额值乘以3。axis=0表示本文要在列上应用自定义函数,axis=1表示本文要在行上应用该函数。
在之前的方法中需要编写一个单独的函数,然后从apply()方法中调用它。Lambda函数可以帮助用户在apply()方法内部使用自定义函数。
df["Sales_Tripled"] = df["SALES"].apply(lambda x: x * 3)
还可以将自定义函数应用于数据帧中的每个元素,只需一行代码,适用于数据帧中的所有元素。
df = df.applymap(lambda x: str(x))
它将把数据帧中所有元素的数据类型转换为字符串类型。
8.时间序列分析
在数学中,时间序列分析指的是对特定时间间隔内收集的数据进行分析,而Pandas具有执行此类分析的函数。
8.1 转换为DateTime对象模型
可以将日期列转换为日期时间格式,以便更容易进行数据操作:
df["ORDERDATE"] = pd.to_datetime(df["ORDERDATE"])

8.2 计算滑动平均值
使用这种方法,可以创建一个滑动窗口来查看数据,同时可以指定任意大小的滚动窗口。如果窗口大小为5,则表示该时间点上的数据窗口为5天。它可以帮助消除数据中的波动,并帮助识别随时间变化的模式。
rolling_avg = df["SALES"].rolling(window=5).mean()

9.交叉制表
可以在表格的两列之间执行交叉制表,通常是一个显示各个类别出现频率的频率表,它可以帮助用户了解不同地区之间类别的分布情况。
获取COUNTRY和DEALSIZE之间的交叉制表:
cross_tab = pd.crosstab(df["COUNTRY"], df["DEALSIZE"])
它可以显示不同国家订购的订单大小(DEALSIZE)。

10.处理异常值
数据中的异常值意味着某个点远远超出了平均范围,接下来通过一个例子来理解。假设有5个点,例如3、5、6、46、8,那么可以说数字46是一个异常值,因为它远远超出了其余各点的平均值。这些异常值可能会导致错误的统计结果,应该从数据集中删除。
在这种情况下,Pandas可以帮助用户找到这些潜在的异常值,可以使用一种称为四分位距(Interquartile Range,IQR)的方法来查找和处理这些异常值。
Q1 = df["SALES"].quantile(0.25)
Q3 = df["SALES"].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
outliers = df[(df["SALES"] < lower_bound) | (df["SALES"] > upper_bound)]
Q1是表示数据的第一四分位数,即数据的第25个百分位数,Q3是表示数据的第三四分位数,即数据的第75个百分位数。
lower_bound变量存储了用于查找潜在异常值的下界,它的值设置为Q1以下1.5倍的IQR。类似地,upper_bound计算上界,即Q3以上1.5倍的IQR。
然后,过滤掉小于下界或大于上界的异常值。

总结
Python的Pandas库使用户能够进行高级数据分析和操作,上述内容只是其中的一部分。可以在Pandas文档中找到更多工具,也可以根据自己的需求和使用的数据集来选择特定的技术。
Pandas在Python中的关键数据分析函数,
本文阐述了Pandas库在数据分析中的五个核心功能:数据合并、自定义函数应用、时间序列处理(如日期转换和滑动平均)、交叉制表以及异常值检测。

被折叠的 条评论
为什么被折叠?



