Pandas - 创建数据结构和基本属性、排序

发布时间: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,并打印

Pandas - 创建数据结构和基本属性、排序_第1张图片

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)  #按照行标签名字排序的方式显示

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号