时间:2023-06-19|浏览:160
九道门丨pandas的18个重要函数,你会用哪些?(上)。
接着上次,我们今天继续来分享Pandas的18个重要函数(下),感兴趣的同学赶紧拿出小本本记下来吧。
数据分析优质社群,等你加入哦~
10)df.astype():
当你想把一个特定的列数据类型转换为另一种数据类型,DataFrame.astype函数就能派上用场。
语法:
DataFrame.astype(dtype,copy=True,errors="raise")
参数: dtype:将整个pandas对象转换为同一类型。numpy.dtype{col:dtype,…}numpy.dtype copy:默认为True。在以下情况返回副本copy=Truecopy=False。 Errors:默认为“raise”。控制对提供的dtype的无效数据引发异常。raise:允许引发异常ignore:禁止显示异常。出错时返回原始对象。
例:
df=pd.read_csv("employees.csv") df.info #changingthedtypeofcolumns"Team"and"Salary" df=df.astype({"Team":"category","Salary":"int64"})
11)pd.concat():
沿特定轴连接pandas对象,并沿其他轴连接可选的设置逻辑。还可以在连接轴上添加分层索引层,如果传递的轴编号上的标签相同(或重叠),则这可能很有用。
语法:
pandas.concat(objs,axis=0,join=outer,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,sort=False,copy=True)
参数: objs:序列或数据帧对象的序列或映射。 axis:默认0。连接轴:要连接的轴可以是下标为0,列为1。 join:{"inner","outer"},默认为"outer"。 ignore_index:bool,默认为False。 keys:顺序,默认无。 levels:序列列表,默认无。 names:列表,默认无。 verify_integrity:bool,默认为False。 sort:bool,默认为False。
例:
import pandas as pd df1=pd.DataFrame({"points":[25,12,15,14,19],"Player":["Adam","Bob","Cot","Derrick","Ethan"],"rebounds":[11,8,10,6,6]}) df2=pd.DataFrame({"points":[15,22,75,84,29],"Player":["A","B","C","D","E"],"rebounds":[18,38,90,56,36]}) #Concatingboththedataframes pd.concat([df1,df2]) #连接后为数据帧分配键: df_concat=pd.concat([df1,df2],keys=["Set1","Set2"]) df_concat #两个集合的索引都是重复的。因此使用ignore_index=True df_concat=pd.concat([df1,df2],keys=["Set1","Set2"],ignore_index=True) df_concat #沿轴axis=1:df2添加第二个数据帧 df_concat=pd.concat([df1,df2],keys=["Set1","Set2"],axis=1) df_concat
组合具有重叠列的对象,并仅返回那些通过传递关键字参数来共享的对象:DataFrameinnerjoin。
import pandas as pd df1=pd.DataFrame({"points":[25,12,15,14,19],"Player":["Adam","Bob","Cot","Derrick","Ethan"],"rebounds":[11,8,10,6,6]}) df2=pd.DataFrame({"points":[15,22,75,84,29],"Player":["A","B","C","D","E"],"rebounds":[18,38,90,56,36],"Overs":[25,12,15,14,19]}) df_concat=pd.concat([df1,df2],join="inner") df_concat
12)df.describe():
describe函数用于生成描述性统计信息,包括汇总数据集分布的中心趋势、分散度和形状(不包括值)的统计数据。它分析数值和对象序列,以及混合数据类型的列集。输出取决于所提供的数据。
语法:
DataFrame.describe(percentiles=None,include=None,exclude=None)
参数: percentile:列出介于0–1之间的列表式数据类型。 include:描述数据帧时要包含的数据类型列表。 exclude:描述数据帧时要排除的数据类型列表。
例:
df2=pd.DataFrame({"points":[15,22,75,84,29],"Player":["A","B","C","D","E"],"rebounds":[18,38,90,56,36],"Overs":[25,12,15,14,19]}) df2.describe
13)df.isnull.sum:
在分析数据之前,删除缺失值、计算缺失值及其百分比非常重要。
df.isnull.sumfunctionisusedtocountthenumberofmissingvaluesineachcolumn.
使用的数据:沃尔玛销售预测|卡格尔
import pandas as pd df=pd.read_csv("features.csv") df.isnull.sum
14)pd.isna:
检测类似数组的对象的缺失值。此函数采用标量或类似数组的对象,并指示值是否丢失。
对于标量输入,返回标量布尔值。对于数组输入,返回一个布尔数组,指示是否缺少每个相应的元素。
df.isna
返回存在空值和不空值的位置。
15)pd.to_datetime:
将参数转换为日期时间。
s=pd.Series(["5/10/2022","5/10/2022","5/10/2022"]*100) 将序列的数据类型更改为sobjectdatetime
pd.to_datetime(s)
16)df.isin:
isin函数可以传递一个列表,以检查数据帧/序列中是否存在值列表。
例:
s=pd.Series(["5/10/2022","5/11/2022","5/12/2022"]*100) lst=["5/10/2022"] s.isin(lst)
如果存在值且找不到值,则返回TrueFalse
17)df.pivot:
返回按给定索引/列值组织的重构数据帧。
语法:
DataFrame.pivot(index=None,columns=None,values=None)
例:
df2=pd.DataFrame({"points":[15,22,75,84,29],"team":["A","B","C","D","E"],"player":["Adam","Tom","Jerry","Harry","Jon"]}) pivot_df2=df2.pivot(index="player",columns="team",values["points"]) pivot_df2=pivot_df2.fillna("-") pivot_df2
18)df.insert:
将列插入到DataFrame的指定位置。
参数: loc:dtypeis,插入索引。必须验证0<=loc<=len(列) column:数字或可哈希(hashable)对象 value:标量、系列或类似数组 allow_duplicates:布尔值,可选默认False
语法:
DataFrame.insert(loc,column,value,allow_duplicates=False)
例:
df.insert(2,"age",[45,34,23,34,56,55,45,30,33]) df