当前位置: 首页 > 后端技术 > Python

简单总结一下精华,pandas必知必知

时间:2023-03-26 00:58:46 Python

大家好,我是杰杰。今天我们介绍一下pandas库中一些非常基础的方法和函数。希望大家看完后有所收获!为了准备所需的数据集,我们将首先生成一些随机数,稍后将使用Datasetindex=pd.date_range("1/1/2000",periods=8)series=pd.Series(np.random.randn(5),index=["a","b","c","d","e"])df=pd.DataFrame(np.random.randn(8,3),index=index,columns=["A","B","C"])Head和tailhead()和tail()方法用于查看数据集中的前几行和后几??行。默认是查看5行。当然读者也可以设置行数series2=pd.Series(np.random.randn(100))series2.head()output00.7338011-0.7401492-0.03186332.51554240.615291dtype:float64同理series2.tail()output95-0.52662596-0.234975970.744299980.43484399-0.609003dtype:float64数据的统计分析在pandas中使用describe()方法对表中的数据进行一般统计分析,例如series2.describe()outputcount100.00000d408100.00000d408-2.38531625%-0.62787450%-0.02973275%0.733579max2.515542dtype:float当然我们也可以设置Outputquantileseries2.describe(percentiles=[0.05,0.25,0.75,0.95])outputcount100.000000mean3stdd8111.003012min-2.3853165%-1.56818325%-0.62787450%-0.02973275%0.73357995%1.560211max2.515542dtype:float64对于离散数据,describe()方法给出的结果会简洁很多s="pd.Series([a","a","b","b","a","a","d","c","d","a"])s.describe()outputcount10unique4topafreq5dtype:object如果表中同时包含离散数据和连续数据,默认情况下,describe()会对连续数据进行统计分析df2=pd.DataFrame({"a":["Yes","Yes","No","No"],"b":np.random.randn(4)})df2.describe()输出bcount4.000000mean0.336053std1.398306min-1.22934425%-0.64361450%0.46132975%1.440995max1.650898当然我们也可以指定强制统计分析离散数据还是连续数据df2.describe(include=["object"])outputacount4unique2top是freq2同理我们也可以指定连续数据统计分析数据df2.describe(include=["number"])输出bcount4.000000mean-0.593695std0.686618min-1.53??864025%-0.81844050%-0.45914775%-0.234401max0.082155如果我们要做统计分析,可以这样做么来执行df2.describe(include="all")outputabcount44.000000unique2NaNtopYesNaNfreq2NaNmeanNaN0.292523stdNaN1.523908minNaN-1.90622125%NaN-0.11377450%NaN0.78956075%NaN1.195858maxNaN1.497193最大/最小值的位置idxmin()和idxmax()方法用于查找表中最大值/最小值的位置,并返回值的索引s1=pd.Series(np.random.randn(5))s1outputs1.idxmin(),如果在DataFrame上使用s1.idxmax()output(0,3),则如下df1=pd.DataFrame(np.random.randn(5,3),columns=["A","B","C"])df1.idxmin(axis=0)outputA4B2C1dtype:int64同样我们把axis参数改成1df1.idxmin(axis=1)output0C1C2C3B4Adtype:objectvalue_counts()方法pandas中的value_counts()方法主要用于对数据表进行统计和排序。用于查看指定列在表中有多少个不同的数据值,并计算不同值在该列中出现的次数。看一个简单的例子df=pd.DataFrame({'城市':['北京','广州','上海','上海','杭州','成都','香港','南京','北京','北京'],'收入':[10000,10000,5500,5500,4000,50000,8000,5000,5200,5600],'年龄':[50,43,34,40,25,25,45,32,25,25]})df["城市"].value_counts()输出北京3上海2广州1杭州1成都1香港1南京1Name:city,dtype:int64can可以看到北京有3次,上海有2次,默认是降序排列的。我们看一下income这一列升序df["income"].value_counts(ascending=True)output400015000018000150001520015600110000255002Name:income,dtype:int64同时参数normalize=True也可以用来计算不同值的计数比例df['age'].value_counts(ascending=True,normalize=True)output500.1430.1340.1400.1450.1320.1250.4Name:age,dtype:float64如果你认为这个文章对你有用,记得不要忘记3个链接,你的肯定将是我继续输出更多优质文章的最好方式强大的动力!