导入pandas库
import pandas as pd
一、Pandas部分知识汇总
1、DataFrame对象的属性
pandas.Series(data=None,index=None,dtype=None, name=None)
返回值
:返回一个Series对象
data
:可以是一个Python列表
index
与列表元素个数一致;也可以是字典,将键值对中的“值”作为Series对象的数据,将“键”作为索引;也可是一个标量值,这种情况下必须设置索引,标量值会重复来匹配索引的长度。
index
:为Series对象的每个数据指定索引。
dtype
:为Series对象的数据指定数据类型。
name
:为Series对象起个名字。
2、算术运算与函数运算
(1)算术运算
适用于NumPy数组的运算符(+、-、* 、/)或其它数学函数,也适用于Series对象。可以将Series对象的数据数组与标量进行+、-、* 、/等算术运算。
(2)函数运算
>>> s = pd.Series([2,4,6],index = ["a","b","c"])
>>> np.sqrt(s) #计算各数据的平方根
a 1.414214
b 2.000000
c 2.449490
>>> np.square(s) #计算各数据的平方
a 4
b 16
c 36
3、数据筛选
二、举例尝试
1、ob=series([2,3,5,7,3,1]),建立series的时候指定索引
ob=pd.Series([2,3,5,7,3,1],index=['a','b','c','d','e','f'])
print(ob)
2、创建series dt=[1,2,3,4,5] id=[‘a’,‘b’,‘c’,‘d’,‘e’]
dt=[1,2,3,4,5]
id=['a','b','c','d','e']
ob=pd.Series(dt,index=id)
print(ob)
3、做下面的题
data1={'subject id':['1','2','3','4','5'],
'first name':['Alex','Amy','Allen','Alice','Ayoung'],
'last name':['Anderson','Ackerman','Ali','Aoni','Atiches']}
data2={'subject id':['4','5','6','7','8'],
'first name':['Billy','Brian','Bran','Bryce','Betty'],
'last name':['Bonder','Black','Balwner','Brice','Btisan']}
data3={'subject id':['1','2','3','4','5','7','8','9','10','11']
,'test id':[51,15,15,61,16,14,15,1,61,16]}
(1)分别变成DataFrame,取名df1,df2,df3。找出df3“test id”列最大的
df1=pd.DataFrame(data1)
df2=pd.DataFrame(data2)
df3=pd.DataFrame(data3)
print(df1)
print(df2)
print(df3)
print(df3['test id'].max())
(2) df1和df2沿X轴合并命名为df12X
df12X = pd.concat([df1,df2],axis=1)
print(df12X)
(3)把df1和df2两个DataFrame沿着Y轴进行合并,命名为df12Y
df12Y = pd.concat([df1,df2],axis=0)
print("Y轴",df12Y)
(4)查看df1的前三行数据
print(df1.head(3))
#(5)创建由下所示的Dataframe,命名为data:
# Cite year cash
# 0 Neijiang 20 6
# 1 Chengdou 21 8
# 2 Beijing 24 10
data=pd.DataFrame({'Cite':['Neijiang','Chengdu','Beijing'],
'year':[20,21,24],
'cash':[6,8,10]})
print("data",data)
#5上题增加一列名为book 值为001,002,003
data['book']=['001','002','003']
print(data)
4、访问上一题year列,删除book列
print(data['year'])
方法一:
del data["book"]
方法二:
data=data.drop(columns=['book'],axis=0)
print(data)
5、对’year’列和’cash’列分别进行开放和平方运算
方法一:
print("开方运算:",data['year']**(1/2),data['cash']**(1/2))
print("平方运算:",data['year']**2,data['cash']**2)
方法二:
#math没有平方函数,自己写一个
def square(x):
return x**2
import math
# data['year']=list(map(square(),data['year']))
print('平方运算',list(map(square,data['year'])),list(map(square,data['cash'])))
print('开方运算',list(map(math.sqrt,data['year'])),list(map(math.sqrt,data['cash'])))