Python-Pandas的简单使用

作者: 轻松学Python111 | 来源:发表于2018-07-31 21:05 被阅读4次

    Pandas数据处理

    1.导入库

    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt

    2.导入json文件

    pandas的read_json方法将其转化为DataFrame格式

    DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同值的类型(数值,字符串,布尔值等);DataFrame既有行索引也有列索引,也可以看做是Series组成的字典(共用一个索引),和其他类似的数据结构比, DataFrame中面向行和面向列的操作基本上是平衡的;

    DataFrame中的数据其实是以一个或多个二维块存放的(而不是列表、字典等一维数据结构), 虽然是以二维结构保存数据,但是仍然合一轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是pandas中许多高级数据处理功能的关键要素)

    df = pd.read_json('/Users/zhaoluyang/Desktop/Python_全国JSON.json')

    3.查看当前表的信息

    df.index#查看行索引信息df.columns#查看列信息df.head()#默认查看前5行元素,括号内可任意指定数字。df.tail()#默认指定最后5行元素,同样可指定数字。df.info()#查看表整体信息。df[['ZL_Job_id','工作地点']].head()#查看df表中'ZL_Job_id'和'工作地点'两列前5个元素。

    可以看见,总共有18326个行索引(18326行),15列columns分别为ZL_Job_id、公司名称、公司链接...

    4.简单的数据规整

    经过第3步查看发现导入的表中ZL_Job_id一列是乱序版的,并没有按照1、2、3...的次序排列。 看了下json原文件发现也是乱序的,但是为了看起来美观和统一,我需要把此列按正常序号排列, 然后将此列作为列索引。(因为这一列在mysql里就是我手动添加做索引来用的) 此时大致需要几个步骤:

    1.将df中系统自动添加的索引替换成列ZL_Job_id。

    2.将原来的‘ZL_Job_id’列删除。

    3.给新的索引列排序。(也可以对数据列排序df.sort_values([‘ZL_Job_id’]))

    df.index=df['ZL_Job_id']del(df['ZL_Job_id'])df1=df.sort_index()#直接df.sort_index()可返回索引的结果,但之后df还是原来的结构df1[['职位名称','工作地点']].head()

    5.常用的函数示例

    #qw表示在df表中column=工作经验的列中,【工作经验==不限】的次数

    qw=df['工作经验'][df['工作经验']=='不限'].value_counts()

    #直接用value_counts()统计工作经验字段各个值出现的次数,并画图展示。PS:查询结果是Series形式()

    df['工作经验'].value_counts().plot()

    一些有用的函数

    unique()、describe()、groupby()、zip()

    df['Names'].unique()

    结果:array(['Mary', 'Jessica', 'Bob', 'John', 'Mel'], dtype=object)

    df['Names'].describe()

    结果:

    count 1000

    unique 5

    top Bob

    freq 206

    Name: Names, dtype: object

    BabyDataSet = list(zip(names,births))BabyDataSet

    结果:[('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]

    相关文章

      网友评论

        本文标题:Python-Pandas的简单使用

        本文链接:https://www.haomeiwen.com/subject/lwmhvftx.html