python(10)——pandas数据分析

Pandas 是Python的数据处理包,全名:Python Data Analysis Library,Pandas 是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取、转换、过滤、分析等一系列操作。Pandas库是基于Numpy库来创建的,Numpy主要用于矩阵操作,而Pandas主要用于数据处理。支持多种数据格式,甚至包括excel和SQL数据库;数据对齐,缺失数据处理,数据排序等常规数据整理操作;基于标签的数据集操作,包括切片和采样等;高性能的merge和join操作;支持时序数据操作。

1.现有如下图所示的表格数据,请对该数据进行以下操作。
A B C D
0 1 5 8 8
1 2 2 4 9
2 7 4 2 3
3 3 0 5 2

问题1:创建一个结构如上图所示的DataFrame对象。

#1

arr=np.array([[1,5,8,8],[2,2,4,9],[7,4,2,3],[3,0,5,2]])
mm=pd.DataFrame(arr)
nn=pd.DataFrame(arr,columns=['A','B','C','D'])
print(nn)

在这里插入图片描述

问题2:将图中的B列数据按降序排序。

#2

frame=pd.DataFrame([[1,5,8,8],[2,2,4,9],[7,4,2,3],[3,0,5,2]],columns=['A','B','C','D'])
print(frame)
print('B列排序后:')
print(frame.sort_values(by='B',ascending=False))

在这里插入图片描述

问题3:将排序后的数据写入到CSV文件,取名为write_data.csv.
#3
frame=pd.DataFrame([[1,5,8,8],[2,2,4,9],[7,4,2,3],[3,0,5,2]],columns=['A','B','C','D'])
frame.to_csv(r'E:\1.csv',index=False)
print("写入完毕!")
file=open(r'E:\1.csv')
file_data=pd.read_csv(file)
print(file_data)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

知识点总结
1.#1pandas的数据结构series

#1pandas的数据结构series

import pandas as pd
ser_obj=pd.Series([1,2,3])#使用Series类的构造方法来创建一个Series类对象
print(ser_obj)
ser_obj1=pd.Series([1,2,3],index=['a','b','c'])#为数据指定索引
print(ser_obj1)
print(ser_obj1['a'])
year_data={2001:17.8,2002:20.1,2003:16.5}
ser_obj2=pd.Series(year_data)
print(ser_obj2)
print(ser_obj1.index)#index属性获取Series对象的属性
print(ser_obj1.values)#values属性获取Series对象的数据

在这里插入图片描述

2.#2 pandas的数据结构dataframe

#2 pandas的数据结构dataframe

import numpy as np
import pandas as pd
arr1=np.array([['a','b','c'],['d','e','f']])
m=pd.DataFrame(arr1) #基于数组创建DataFrame对象,行索引和列索引自动从0开始print(m)
n=pd.DataFrame(arr1,columns=["No1","No2","No3"]) #自行指定列索引
print(n)
element=n['No2'] #通过列索引的方式获取一列数据
print(element)
element1=n.No2   #通过属性获取列数据
print(element1)
n['No4']=['g','h'] #增加No4一列数据
print(n)
del n['No4'] #删除No4这列数据
print(n)

在这里插入图片描述

3.#3 pandas索引操作及高级索引——索引对象

#3  pandas索引操作及高级索引——索引对象

import pandas as pd
ser_obj=pd.Series(range(5),index=['a','b','c','d','e'])
ser_index=ser_obj
print(ser_index)
print(ser_index[2])

在这里插入图片描述

4.#4 pandas 索引操作及高级索引-索引操作

#4 pandas 索引操作及高级索引-索引操作


import pandas as pd

ser_obj=pd.Series(range(5),index=['a','b','c','d','e'])
print(ser_obj[2])#使用索引位置获取数据
print(ser_obj['c']) #使用索引名获取数据
print(ser_obj[2:4])#使用位置索引进行切片
print(ser_obj['c':'e'])#使用索引名进行切片
print(ser_obj[[0,1,4]])#通过不连续位置索引获取数据
print(ser_obj[['a','b','e']])#通过不连续索引名获取数据
ser_bool=ser_obj>2 #创建bool型Series对象
print(ser_bool)
print(ser_obj[ser_bool])#获取结果为True的数据

在这里插入图片描述

5.#5 s算数运算与数据对齐

#5 s算数运算与数据对齐

import pandas as pd

obj1=pd.Series(range(10,13))
obj2=pd.Series(range(20,25))
print(obj1+obj2)

obj1=obj1.add(obj2,fill_value=0)
print(obj1)

在这里插入图片描述

6.#6 数据排序-按索引排序

#6 数据排序-按索引排序

import pandas as pd
import numpy as np
obj1=pd.Series(range(10,13))
obj2=pd.DataFrame(np.arange(9).reshape(3,3),index=[4,3,5])
print(obj1.sort_index())
print(obj1.sort_index(ascending=False))
print(obj2)
print(obj2.sort_index())
print(obj2.sort_index(axis=1,ascending=False))

在这里插入图片描述

7.#7 数据排序-按值排序

#7 数据排序-按值排序

import pandas as pd
import numpy as np

obj1=pd.Series([4,np.nan,6,np.nan,-3,2])
obj2=pd.DataFrame([[0.4,-0.1,-0.3,0.0],[0.2,0.6,-0.1,-0.7],[0.8,0.6,-0.5,0.1]])

print(obj1.sort_values())#按值升序排列
print(obj2.sort_values(by=2))#对列索引为2的数据进行排序

在这里插入图片描述

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值