Pandas统计分析基础(基础篇,新手必看)_在dataframe数据中,如果不希望使用默认的行索引,则可以在创建时通过以下哪个参数

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

obj = pd.Series([4,7,-3,2])
obj.index = [‘Bob’, ‘Steve’, ‘Jeff’, ‘Ryan’]
print(obj)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110191747832.png#pic_center)


##### 2.DataFrame


DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。



DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。


**DataFrame的创建:**


格式:



pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)


创建:



data = {
‘name’:[‘张三’, ‘李四’, ‘王五’, ‘小明’],
‘sex’:[‘female’, ‘female’, ‘male’, ‘male’],
‘year’:[2001, 2001, 2003, 2002],
‘city’:[‘北京’, ‘上海’, ‘广州’, ‘北京’]
}
df = pd.DataFrame(data)
print(df)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110191938631.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **DataFrame的索引:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110191959730.png#pic_center)  
 **DataFrame创建时的空缺值:**



df2 = pd.DataFrame(data, columns = [‘name’, ‘year’, ‘sex’, ‘city’,‘address’])
print(df2)


![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111019203366.png#pic_center)  
 DataFrame构造函数的columns函数给出列的名字,index给出label标签。


**DataFrame创建时指定列名:**



df3 = pd.DataFrame(data, columns = [‘name’, ‘sex’, ‘year’, ‘city’], index = [‘a’, ‘b’, ‘c’, ‘d’])
print(df3)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110192110883.png#pic_center)  
 **DataFrame的属性:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110192129443.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 3.索引对象


Pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或 DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。


**显示DataFrame的索引和列:**



print(df)
print(df.index)
print(df.columns)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110192323612.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 每个索引都有一些方法和属性,它们可用于设置逻辑并回答有关该索引所包含的数据的常见问题。Index的常用方法和属性:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110192349415.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 4.查看DataFrame的常用属性


DataFrame的基础属性有values、index、columns、dtypes、ndim和shape,分别可以获取DataFrame的元素、索引、列名、类型、维度和形状。


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110192419392.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


#### 二、Pandas索引操作


##### 1.重新索引


索引对象是无法修改的,因此,重新索引是指对索引重新排序而不是重新命名,如果某个索引值不存在的话,会引入缺失值。


对于重建索引引入的缺失值,可以利用fill\_value参数填充。



obj = pd.Series([7.2,-4.3,4.5,3.6],index=list(“badc”))
obj

obj.reindex(list(“abcde”))


![在这里插入图片描述](https://img-blog.csdnimg.cn/202011101927220.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


重建索引时填充缺失值。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193145481.png#pic_center)  
 **缺失值的前向填充:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193204689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **缺失值的后向填充:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193222535.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


DataFrame数据:



df4 = pd.DataFrame(np.arange(9).reshape(3,3),
index = [‘a’,‘c’,‘d’],columns = [‘one’,‘two’,‘four’])
print(df4)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193312751.png#pic_center)  
 **reindex操作:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193339662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 传入fill\_value = n用n代替缺失值。


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193359143.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **reindex函数参数:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193415141.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 2.更换索引


如果不希望使用默认的行索引,则可以在创建的时候通过Index参数来设置。


在DataFrame数据中,如果希望将列数据作为索引,则可以通过set\_index方法来实现。


**重建索引:**


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193540549.png#pic_center)


#### 三、DataFrame的数据查询与编辑


##### 1.DataFrame数据的查询


在数据分析中,选取需要的数据进行分析处理是最基本操作。在Pandas中需要通过索引完成数据的选取。


**选取列:**  
 通过列索引或以属性的方式可以单独获取DataFrame的列数据,返回的数据类型为Series。![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193633533.png#pic_center)  
 **选取行:**  
 通过切片形式可以选取一行或多行数据  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193658396.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193705263.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 选取通过DataFrame提供的head和tail方法可以得到多行数据,但是用这两种方法得到的数据都是从开始或者末尾获取连续的数据, 而利用sample可以随机抽取数据并显示。  
 head() #默认获取前5行  
 head(n)#获取前n行  
 tail()#默认获取后5行  
 head(n)#获取后n行  
 sample(n)#随机抽取n行显示


**选取行和列:**


DataFrame.loc(行索引名称或条件,列索引名称)  
 DataFrame.iloc(行索引位置,列索引位置)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193735456.png#pic_center)


**利用iloc选取行和列:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193807825.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **布尔选择**



可以对DataFrame中的数据进行布尔方式选择



data[data[“数据列名”]==20]


##### DataFrame数据的编辑


**增加数据:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193941683.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 增加列时,只需为要增加的列赋值即可创建一个新的列。


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110193955819.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **删除数据:**


删除数据直接用drop方法,通过axis参数确定是删除的是行还是列。默认数据删除不修改原数据,需要在原数据删除行列需要设置参数inplace = True。


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194018466.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 删除列:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194037895.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **修改数据:**


修改数据时直接对选择的数据赋值即可。  
 需要注意的是,数据修改是直接对DataFrame数据修改,操作无法撤销,因此更改数据时要做好数据备份。


#### 四、Pandas数据运算


##### 1.算术运算


Pandas的数据对象在进行算术运算时,如果有相同索引则进行算术运算,如果没有,则会自动进行数据对齐,但会引入缺失值。


**series相加:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194208820.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194213623.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194220544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111019422494.png#pic_center)


##### 2.函数应用和映射


已定义好的函数可以通过以下三种方法应用到数据:


1. map函数:将函数套用到Series的每个元素中;
2. apply函数,将函数套用到DataFrame的行或列上,行与列通过axis参数设置;
3. applymap函数,将函数套用到DataFrame的每个元素上。


将水果价格表中的“元”去掉。



data = {‘fruit’:[‘apple’,‘grape’,‘banana’],‘price’:[‘30元’,‘43元’,‘28元’]}
df1 = pd.DataFrame(data)
print(df1)
def f(x):
return x.split(‘元’)[0]
df1[‘price’] = df1[‘price’].map(f)
print(‘修改后的数据表:\n’,df1)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194312296.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **apply函数的使用方法:**


![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194331642.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **applymap函数的用法:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194359184.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 3.排序


sort\_index方法:对索引进行排序,默认为升序,降序排序时加参数 ascending=False。  
 sort\_values方法:对数值进行排序。by参数设置待排序的列名  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194431102.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 4.汇总与统计


**数据汇总:**


在DataFrame中,可以通过sum方法对每列进行求和汇总,与Excel中的sum函数类似。如果设置axis = 1指定轴方向,可以实现按行汇总。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194505257.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194512600.png#pic_center)  
 **数据描述与统计**


利用describe方法会对每个数值型的列数据进行统计



df2.describe()


**Pandas中常用的描述性统计量**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194550281.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 对于类别型特征的描述性统计,可以使用频数统计表。Pandas库中通过unique方法获取不重复的数组,利用value\_counts方法实现频数统计。![+](https://img-blog.csdnimg.cn/20201110194604458.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


#### 五、数据分组与聚合


##### 1.数据分组


**groupby方法**



groupby方法可以根据索引或字段对数据进行分组。


格式为:



DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)


groupby方法的参数及其说明:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194807554.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194842111.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194849907.png#pic_center)  
 **按列名分组**


DataFrame数据的列索引名可以作为分组键,但需要注意的是用于分组的对象必须是DataFrame数据本身,否则搜索不到索引名称会报错。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194909336.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **按列表或元组分组**  
 分组键还可以是长度和DataFrame行数相同的列表或元组,相当于将列表或元组看做DataFrame的一列,然后将其分组。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194924992.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **按字典分组**


如果原始的DataFrame中的分组信息很难确定或不存在,可以通过字典结构,定义分组信息。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194941823.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110194945799.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **按函数分组**


函数作为分组键的原理类似于字典,通过映射关系进行分组,但是函数更加灵活。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110195007958.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110195012164.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 2.数据聚合


**聚合函数**


除了之前示例中的mean函数外,常用的聚合运算还有count和sum等。


**聚合运算方法**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110195042669.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)  
 **使用agg方法聚合数据**


agg、aggregate方法都支持对每个分组应用某个函数,包括Python内置函数或自定义函数。同时,这两个方法也能够直接对DataFrame进行函数应用操作。  
 在正常使用过程中,agg和aggregate函数对DataFrame对象操作的功能基本相同,因此只需掌握一个即可。


##### 3.分组运算


1. transform方法  
 通过transform方法可以将运算分布到每一行。
2. 使用apply方法聚合数据  
 apply方法类似于agg方法,能够将函数应用于每一列。


#### 六、数据透视表


##### 1.透视表


数据透视表(Pivot Table)是数据分析中常见的工具之一,根据一个或多个键值对数据进行聚合,根据列或行的分组键将数据划分到各个区域。



pivot_table函数格式:
pivot_table(data, values=None, index=None, columns=None, aggfunc=‘mean’, fill_value=None, margins=False, dropna=True, margins_name=‘All’)


**pivot\_table函数主要参数及其说明**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110195223684.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


##### 2.交叉表


交叉表是一种特殊的透视表,主要用于计算分组频率。



crosstab的格式:
crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, dropna=True, normalize=False)


**crosstab主要参数及其说明**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110195251939.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NqanNhYWFh,size_16,color_FFFFFF,t_70#pic_center)


#### 七、Pandas可视化


##### 1.线形图


Pandas库中的Series和DataFrame中都有绘制各类图表的plot方法,默认绘制的都是线形图。  
 通过DataFrame对象的plot方法可以为各列绘制一条线,并创建图例。


##### 2.柱状图


在Pandas中绘制柱状图只需在plot函数中加参数kind = ‘bar’,如果类别较多,可以绘制水平柱状图(kind = ‘barh’)。




### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://i-blog.csdnimg.cn/blog_migrate/0426b4c2e3d69852ceb846faa8ff365f.png)



### 二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://i-blog.csdnimg.cn/blog_migrate/d6c45bb1209e386b8e3eead5558e589c.png)



### 三、入门学习视频



我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://i-blog.csdnimg.cn/blog_migrate/257a471c0e6a44d05079fa1b4eb409c5.png#pic_center)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值