无可非议,pandas是Python最强大的数据分析和探索工具之一,因金融数据分析工具而开发,支持类似于SQL语句的模型,可以对数据进行增删改查等操作,支持时间序列分析,也能够灵活的处理缺失的数据。它含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单。
这里所说的让pandas变得更快更简单的高级数据结构就是Series和DataFrame。要熟练使用pandas,首先得要熟悉它的这两个主要的数据结构:Series和DateFrame。今天一起简单了解一下Series和Dataframe吧!

一、pandas常用数据类型(Series)
Series是一个有索引(或者说标签)的由同一类型数据组成的一组数据,其数据是一维的。
Series的特点如下:
1、直观上的感觉Series相当于python中的字典;
2、Series中的索引(index)相当于字典中的关键字,Series中的值(index)相当于字典中的值;
3、Series中value的值是list时,首先通过索引得到对应的值,然后通过list的索引操作得到最后值;
4、Series的问题只能通过行索引访问元素,但是无法直接操作列操作,索引pandas引入了DataFrame。

二、pandas常用数据类型(Dataframe)
DataFrame 是一个表格型的数据结构,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典。DataFrame是将数个Series按列合并而成的二维数据结构,每一列单独取出来是一个Series,这和SQL数据库中取出的数据是很类似的。
所以,按列对一个DataFrame进行处理更为方便,开发者在编程时注意培养按列构建数据的思维。DataFrame的优势在于可以方便地处理不同类型的列。
因此,就不要考虑如何对一个全是浮点数的DataFrame求逆之类的问题了,处理这种问题还是把数据存成NumPy的matrix类型比较便利一些。

在Python中,del 和drop方法都能够删除dataframe中的列数据,但两者也有着些许区别。
首先 del 属于 Python的内置函数函数,drop属于pandas中的内置函数
1、drop对列和行都可进行操作;del仅可对列进行操作。
2、drop一次可以处理多个项目;del一次只能操作一个。
3、drop可以就地操作或返回副本;del仅是就地操作。
两种函数在执行效率上很接近,但是在较大数据上,drop函数优势更明显,尤其实在处理多列数据时

DataFrame的特点如下:
1、同样DataFrame和python中字典结构相同;
2、DataFrame中关键字对应的是列名,关键字的值对应的是某列的值;
3、DataFrame中,既有行索引又有列索引,行索引默认是(0, n-1) , 列索引对应的是列名。
三、DataFrame创建,可以通过index和columns指定索引名称
方式一:
a = pd.DataFrame(np.arange(1e).reshape(2,5)print(a)
方式二:
a= pd.DataFrame(np.arange(10).reshape(2,5),index=list(“ab”),columns=list(“qwxyz”))print(a)
方式三:
temp_dict=[“name”:[“yangwj”,”ywj”],”age”:[28,29],”tel”:[“10080″,”10010”]}a= pd.DataFrame(temp dict)print(a)

布尔型DataFrame的any/all方法用于判断布尔数组在行/列轴向上的逻辑运算情况,any即或运算,任何一个元素为真即为真;all即并运算,全部元素为真即为真。
pd.DataFrame.any(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs)
Return whether any element is True over requested axis.
pd.DataFrame.all(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs)
Return whether all elements are True, potentially over an axis.
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76683
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!