Series
- 基本特征
– 类似有序定长的字典,类似一维数组的对象
– 由数据和索引组成
import pandas as pd
#创建方式
aSer = pd.Series([1,2.0,'a'])#自带索引0:1 1:2.0 2:a
bSer = pd.Series(['Bieber','Billie','Beyonce'],index = [a,b,c])#自定义索引
#访问数据
print(bSer['b']) #Billie
#运算
print(aSer * 2) #对每个数据都*2
Series 的数据对齐
在运算中自动对齐不同索引的数据,即两组数据取并集(顺便学学TOEFL单词吼吼)
import pandas as pd
data = {'barehole':'地上凿洞', 'quartz':'石英','marble':'大理石'}
s_index = ['barehole', 'quartz', 'marble', 'gem']
aSer = pd.Series(data, index = s_index)
'''
Out:
barehole 地上凿洞
quartz 石英
marble 大理石
gem NaN(not a number)
dtype: object
'''
print(pd.isnull(aSer)) #判断值是否为空
'''
out:
barehole False
quartz False
marble False
gem True
dtype: bool
'''
#先取两者交集,再相加
bSer = pd.Series({'barehole':'NaN','quartz':'石英','fieldstone':'粗石,散石','emerald':'翡翠'})
cSer = aSer + bSer
'''
Out:
barehole 地上凿洞NaN
emerald NaN
fieldstone NaN
gem NaN
marble NaN
quartz 石英石英
dtype: object
'''
DataFrame
- 基本特征
– 一个表格型的数据结构
– 含有一组有序的列
– 大致可看成共享同一个index的Series集合
import pandas as pd
import numpy as np
#创建方式
TOEFL2 = {'word':['wiikite','granite','lead'],'meaning':['黑稀金矿','花岗岩','铅,领导']}
frame = pd.DataFrame(TOEFL2)
'''
out:
word meaning
0 wiikite 黑稀金矿
1 granite 花岗岩
2 lead 铅,领导
'''
#修改索引和值
data2 = np.array([('limestone','石灰石'),('lava','火山岩'),('ruby','红宝石色的')])
frame = pd.DataFrame(data2, index = range(1,4), columns = ['Words','Translate']) #data2需要转为数组再调用
'''
Out:
Words Translate
1 limestone 石灰石
2 lava 火山岩
3 ruby 红宝石色的
'''
DataFrame的基本操作
- 取DataFrame对象的列和行可获得Series
frame.iloc[:2,1] #取[0~1]行的第1列
'''
Out:
1 石灰石
2 火山岩
Name: Translate, dtype: object
'''
- DataFrame 找对象成员的最值和给定范围内信息
data3 = np.array([('bonanza',13),('mineral',14),('ore',15)])
frame = pd.DataFrame(data3, index = range(1,4), columns = ['Words','Order'])
print(frame.Order.min()) #找最小值,输出13
#范围内
print(frame[frame.Order>='14'])#14要加单引号
'''
Words Order
2 mineral 14
3 ore 15
'''