一霉晕、pandas概述
pandas :pannel data analysis(面板數(shù)據(jù)分析)。pandas是基于numpy構建的,為時間序列分析提供了很好的支持祈秕。pandas中有兩個主要的數(shù)據(jù)結構,一個是Series雏胃,另一個是DataFrame请毛。
pandas
二、數(shù)據(jù)結構 Series
Series 類似于一維數(shù)組與字典(map)數(shù)據(jù)結構的結合瞭亮。它由一組數(shù)據(jù)和一組與數(shù)據(jù)相對應的數(shù)據(jù)標簽(索引index)組成获印。這組數(shù)據(jù)和索引標簽的基礎都是一個一維ndarray數(shù)組〗种荩可將index索引理解為行索引兼丰。 Series的表現(xiàn)形式為:索引在左,數(shù)據(jù)在右唆缴。
-
Series 就如同列表一樣鳍征,一系列數(shù)據(jù),每個數(shù)據(jù)對應一個索引值面徽。
Series
from pandas import Series
x=Series([1,2,3])
print(x)
print(x.values) # [1 2 3]
print(x.index) # RangeIndex(start=0, stop=3, step=1)
0 1
1 2
2 3
# 索引
# 指定Series的index
x=Series([1,2,3],index=['a','b','c'])
print(x) # 指定Series的index
a 1
b 2
c 3
#通過索引來獲取元素值
print(x['a'])
1
#通過行索引來賦值
x['b']=2222
print(x)
a 1
b 2222
c 3
#類似于numpy的花式索引
print(x[['c','b']])
c 3
b 2222
# 類似于numpy的布爾索引
print(x[x>2])
b 2222
c 3
#類似于字典的使用:是否存在該索引:True
print('b' in x)
True
#追加一個序列
n = Series(['xinzeng'])
#需要使用一個變量來承載變化
x = x.append(n)
print(x)
a 1
b 2222
c 3
0 xinzeng
使用字典來生成Series
data = {'a':1, 'b':2, 'd':3, 'c':4}
x=Series(data)
print(x)
a 1
b 2
d 3
c 4
#使用字典生成Series,并指定額外的index艳丛,不匹配的索引部分數(shù)據(jù)為NaN
exindex = ['a', 'b', 'c', 'e']
y=Series(data,index=exindex)
print(y)
a 1.0
b 2.0
c 4.0
e NaN
dtype: float64
#Series相加匣掸,相同行索引相加,不同行索引則數(shù)值為NaN
print(x+y)
a 2.0
b 4.0
c 8.0
d NaN
e NaN
#指定Series/索引的名字
y.name = 'weight of letters'
y.index.name = 'letter'
print(y)
a 1.0
b 2.0
c 4.0
e NaN
Name: weight of letters
#替換index
y.index = ['a', 'b', 'c', 'f']
print(y)
a 1.0
b 2.0
c 4.0
f NaN
Name: weight of letters