Series
- Series(data,index,name) 其中data可以是array-like, Iterable, dict, or scalar value,index可以是array-like or Index (1d)(ndarray时为1D对象),可以为重复值,未提供时使用默认index(0,1,2,..N),name代表series名称
创建
import pandas as pd
import numpy as np
# 列表 list
series = pd.Series([2,10,20])
'''
0 2
1 10
2 20
'''
# ndarray对象 必须是1D对象
series = pd.Series(np.array([2,20,40,50]))
'''
0 2
1 20
2 40
3 50
'''
# 字典对象 dict key将代替默认的index 0,1,2,...N
series = pd.Series({'A':100,'C':200,'C':300})
'''
A 100
C 300
import pandas as pd
index = ['广东',"湖北",'香港','台湾']
data = {"湖北":100,'广东':300,'香港':500,'北京':2000}
series = pd.Series(data, index) #index中不存在北京标签,台湾标签存在,data中不存在对应的value,默认为Nan,index与字典形式data中key一一对应
print(series)
'''
广东 300.0
湖北 100.0
香港 500.0
台湾 NaN
dtype: float64
'''
Series属性及方法
- pandas中统计方法很多都是从numpy中重写而来忽略了无效值:Nan,此处主要关注 Series两个属性 :index、values
import pandas as pd
+ 列表 list
series = pd.Series([2,10,20])
print(series.index) # RangeIndex(start=0, stop=3, step=1)
print(series.values) # [ 2 10 20]
import pandas as pd
index = ['广东',"湖北",'香港','台湾']
data = {"湖北":100,'广东':300,'香港':500}
series1 = pd.Series(data, index) #index中不存在北京标签,台湾标签存在,data中不存在对应的value,默认为Nan
series2 = pd.Series({"湖北":1,'广东':2,'香港':3})
print(series1+series2) # 进行 四则运算 (+ - * /) 会先对应好series的index然后对其values进行计算
'''
台湾 NaN
广东 302.0
湖北 101.0
香港 503.0
dtype: float64
'''
Dataframe
创建
import pandas as pd
import numpy as np
#data为iterable eg:list
df = pd.DataFrame([[2,3,0,90],[10,67,78,45]])
'''
0 1 2 3
0 2 3 0 90
1 10 67 78 45
index、 columns均默认从0,1,2,...N
'''
# data 为ndarray
df = pd.DataFrame(np.array([[2,3,0,90],[10,67,78,45]]),index=['A','B'],columns=['a','b','c','d'])
'''
a b c d
A 2 3 0 90
B 10 67 78 45
'''
# data 为dict,key将会作为column标签,index要么使用【0,1,2,...N】或者自定义
df1 = pd.DataFrame({'湖北':100,'广东':200,'北京':300},index=['湖北','北京','广东'])
'''
湖北 广东 北京
湖北 100 200 300
北京 100 200 300
广东 100 200 300
'''
# data为DataFrame
df2 = pd.DataFrame(df1)
索引、切片、多层索引
合并
连接
重塑
透视
分组、整合