numpy能够帮助处理数据,但是pandas除了处理数值之外(基于numpy)。还能够帮助处理其他类型的数据。
1,Series 一维,带标签数组。
2,DataFrame 二维,Series容器。
创建Series
import pandas as pd import numpy as np import string # 用列表创建 s=pd.Series([10,20,30,40,50]) print(s) ''' 0 10 1 20 2 30 3 40 4 50 ''' print(type(s)) # <class 'pandas.core.series.Series'> s1=pd.Series([10,20,30,40,50],index=list('abcde')) print(s1) ''' a 10 b 20 c 30 d 40 e 50 ''' s2=pd.Series(np.arange(10),index=list(string.ascii_uppercase[:10])) print(s2) # 用字典创建 d={"name":"tom","age":20,'tel':"13509003932"} s3=pd.Series(d) print(s3) ''' F 5.0 G 6.0 H 7.0 I 8.0 J 9.0 K NaN L NaN M NaN N NaN O NaN ''' s4=pd.Series(s2,list(string.ascii_uppercase[5:15])) print(s4)
Series对象本质上由两个数据构成。一个数组构成对象的键(index,索引),一个数组构成对象的值(values)。键->值。
import numpy as np import pandas as pd import string t1=pd.Series(data=np.arange(10),index=list(string.ascii_uppercase[:10])) print(t1) # 索引 t[] 这种方式只能索引访问,不能序号访问。t1.iloc[]可以 print('*'*50) print(t1[['A','B']]) print(t1['C']) print(t1.iloc[0]) print(t1.iloc[[0,2,3]]) print(t1.loc["A"]) print(t1.loc[['A','B','C']]) # 切片 print('*'*50) print(t1[2:10:8]) print(t1[1:5]) # 索引和值 print('*'*50) print(t1.index) # Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], dtype='object') print(type(t1.index)) # <class 'pandas.core.indexes.base.Index'> print('*'*50) print(t1.values) # [0 1 2 3 4 5 6 7 8 9] print(type(t1.values)) # <class 'numpy.ndarray'>
读取外部文件 read_csv
import pandas as pd data=pd.read_csv('./books.csv') print(data) print(type(data)) # <class 'pandas.core.frame.DataFrame'>
posted on
浙公网安备 33010602011771号