发布时间:2023-03-30 11:00
Pandas是python的一个数据分析包,是基于NumPy 的一种工具。Pandas提供了Series和DataFrame两种数据结构,提供了一些内置函数。但Pandas的内置函数计算速度不如Numpy中的内置函数计算速度快。
1.创建Series
.支持Nmumpy的基本运算操作
#字典生成Series
import pandas as pd
import numpy as np
dic1 = {'a':10,'b':20,'c':30,'d':40,'e':50}
s1=pd.Series(dic1)
#列表生成Series
import pandas as pd
import numpy as np
arr=[10,20,30,40,50]
s2=pd.Series(arr)
#一维数组生成Series
(最好带着index)
English1=pd.Series([80,90,95,98],index=["tom","jack","alice","luci"])
2.创建DataFrame
#字典生成DataFrame
import numpy as np
import pandas as pd
data = {"name":["yahoo","google","facebook"], "marks":[200,400,800],"price":[9, 3, 7]}
f1 = pd.DataFrame(data) #行索引默认数字序号
#列表生成DataFrame
import pandas as pd
data1=[['yahoo',200,9],['google',400,3],['facebook',800,7]]
f=pd.DataFrame(data1,columns=['name','price','marks'],index=['a','b','c'])
print(f)
例题生成一个DataFrame,并打印
import numpy as np
import pandas as pd
my_values=[['lihong',80,90,'female','Yes'],['wangwu',90,100,'male','Yes'],\
['zhangsan',60,40,'male','No'],['liumei',85,95,'female','Yes']]
my_data=pd.DataFrame(my_values,columns=['name','math','english','sex','success'])
my_data
3.DataFrame的常用属性
最重要的info() #此函数在数据处理时应用较多,因为在数据处理时我们要关注缺失值,比较重要。
import numpy as np
import pandas as pd
my_values=[['lihong',80,90,'female','Yes'],['wangwu',90,100,'male','Yes'],\
['zhangsan',60,40,'male','No'],['liumei',85,95,'female','Yes']]
my_data=pd.DataFrame(my_values,columns=['name','math','english','sex','success'])
print(my_data)
print(my_data.shape) #和array一样,是DataFrame的形状,返回一个元组。
print(my_data.size)#和array一样,是元素总个数
print(my_data.ndim)#和array一样,是该DataFrame的维度
print(my_data.dtypes) #该DataFrame各列的数据类型
print(my_data.columns)#是DataFrame的列索引,可以看成一个列表并进行相应的操作
print(my_data.index)#是DataFrame的行索引,可以看成一个列表并进行相应的操作
print(my_data.T) #做转置,行列互换
print(my_data.values)#DataFrame的值,是一个二维数组,一个具有特殊数据类型的二维数组,元素类型不一致。
上面知识是基础知识,在我们实际应用时多数都是通过读取csv文件进行数据处理,但我们要理解并且灵活运用。
import numpy as np
import pandas as pd
oly=pd.read_csv('olympics.csv',skiprows=4)
oly.head(4) #此方法显示前4行,是方法不是属性
oly.tail(6) #此方法显示后6行
oly.info() #此方法简单描述数据的特征,显示缺失值数据个数以及内存占用情况
4.DataFrame排序
(1)DataFrame 按列值重新排序(sort_values())
此方法是对整个DataFrame按列值排序不能按行值排序,并且Series也可以用因为Series是特殊的DataFrame。
对oly中的‘Edition'和’Athele'中数据进行排序,代码如下
import pandas as pd
oly=pd.read_csv('olympics.csv',skiprows=4)
oly1=oly.sort_values(by=['Edition','Athlete'],ascending=True,inplace=False)
(2)按照行索引名称和列索引名称排序(sort_index())
oly1=oly.sort_index(axis=1,ascending=False) #按照列标签名字排序的方式显示
oly1=oly.sort_index(axis=0,ascending=False) #按照行标签名字排序的方式显示