Python-Pandas的简单使用

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个元素。

《Python-Pandas的简单使用》

可以看见,总共有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()

《Python-Pandas的简单使用》

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小老弟
    原文地址: https://www.jianshu.com/p/92022fd098c3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞