1.pandas py的数据分析包
1.安装Anaconda
2.python中安装: pip install pandas
2.数据准备
2.1数据结构
1.pandas中Series(一维)
- from pandas import Series
- a = ['a','b','c']
- b = Series(a,index=[1,2,3])#a为列表
- print(b)
运行结果:
- 1 a
- 2 b
- 3 c
- dtype: object
DataFrame(二维)
- from pandas import Series
- from pandas import DataFrame
- a = ['a','b','c']
- b = DataFrame({'age':Series(a),'name':['j','k','l']})
- print(b)
- print("\n")
- print(b[0:2])#行
- print("\n")
- print(b['age'])#列
- print("\n")
- print(b.iloc[0:2,0:2])#块,行和列
- print("\n")
- print(b.at[1,'age'])#位置,第几行,第几列
2、panel(三维)(暂不学)
2.2数据导入与导出
1导入.(txt,csv,excl)
- from pandas import read_table
- from pandas import read_csv
- from pandas import read_excel
- #导入TXT,csv,excel
- read_table(file,,name=[列名1,列名2],sep='',)
- read_csv(file,,name=[列名1,列名2],sep='',)
- read_excel(file,,name=[列名1,列名2],sep='',)
-
-
2.导出
- #to_table('1.txt')
- #to_excel('1,excel')
- #to_csv('1.csv')
-
- #1.scv为文件名
-
3.数据处理(方法)
3.1数据清洗
- 1. drop_duplicates() #去(重复)行,剩一行
- 2. (缺失)值处理
- (1)dropna() #去空行
- (2)fillna('1') #用1代替空行,
- (3)fillna(method='pad') #'pad'前一个数值替代
- (4)fillna(method='bfill') #'pad'后一个数值替代
- (5)fillna(.mean()) #平均数或其他统计数字值替代
- (6)fillna(.mean())['math:physcical']#选择列进行缺失值处理
- (7)strip() #去首位空格
-
-
- #列:
- from pandas import Series
- from pandas import DataFrame
- from pandas import read_excel
- a=read_excel('c:\\1.xlsx')
- print(a)
- print('\n')
- # b=a.fillna('!')
- # c=a.dropna()
- # d=a.fillna(method='pad')
- # e=a.fillna(method='bfill')
- # f=a.fillna(a.mean())
- # g=a.fillna(a.mean())['math':'physcical']
3.2数据抽取
- (1)slice(srart,stop) #字段抽取
- (2)split(sep,n,expand=False) #字段拆分,sep字符串分隔符,n分割后新增列数,expand是否展开为数据框
- (3)dataframe(condition) #conditioon 过滤条件
- (4)numpy.random.randint(start,end,num)#随机抽样,num个数
- (5)字典数据————将字典数据抽取为dataframe,三种方法
- a = {'a':'[1,2,3]','b':'[0,1,2]'}#值有''
- a = {'a':[1,2,3],'b':[0,1,2]} #值必须为列表
-
- from pandas import DataFrame
- a = {'a':[1,2,3],'b':[0,1,2]}
- b = DataFrame(a)
- print(b)
- #运行结果
- a b
- 0 1 0
- 1 2 1
- 2 3 2
-
-
3.3排名索引
- #1.排名索引
- #.sort_index()方法
- #2.重新索引
- #.reindex()方法
-
- #1
- import pandas
- from pandas import DataFrame
- a = {'a':[1,2,3],'b':[0,1,2]}
- b = DataFrame(a,index=['b','c','a'])
- c=b.sort_index()#对index进行排序,默认升序
- print(c)
-