北碚集团网站建设,微网站 制作平台,网站建设投标书模板,上海官网##人生苦短#xff0c;我用python
#pandas
##首先讲讲数据格式#xff0c;csv文件格式#xff0c;程序之间表格数据之间的转移#xff0c;如从数据库导入到excel中csv是很合适的转移格式。
#1.纯文本#xff0c;使用某个字符集#xff0c;比如ascii#xff0c;Unicode我用python
#pandas
##首先讲讲数据格式csv文件格式程序之间表格数据之间的转移如从数据库导入到excel中csv是很合适的转移格式。
#1.纯文本使用某个字符集比如asciiUnicodeEBCDID或者GB2312等
#2.由记录组成典型的是每行一条记录
#3.每条记录被分隔符分割为字段典型的分隔符有逗号、分好或者制表符、有时分隔符可以包括可选择的空格
#4.每条记录都有同样的字段序列
import pandas as pd
import numpy as np
df1 数据文件的路径
df pd.read_csv(df1)
df.head(2)
type(df)##重中之重DataFrame
df.colums#获取列名
df.col[1]#获取第1列
#获取索引
df.index
#筛选例如删选数学成绩大于80分的
df.数学80
df[df.数学80]#出现数学成绩大于80的所有学生的信息
#与munpy比较
##复杂筛选语数英同时大于80
(df.语文80) (df.数学80) (df.英语80)#返回false或者true
df((df.语文80) (df.数学80) (df.英语80))#返回语数外同时大于80的结果##排序
df.sort_values([数学],)#对数学成绩进行排序
#对多列数据进行排序
df.sort_values([数学,语文])
##访问:loc函数是按照索引进行定位的
#不存在这种访问方式df[0]
df.loc[1]
##索引的概念
score {英语:[90,100,99],语文:[90,90,90],数学:[100,100,90]
}
df pd.DataFrame(score,index[one,two,three])
df.index
#此时不存在数字索引索引不能通过数字索引取访问
#df.loc()
df.loc[one]
#实实在在的第几行
df.iloc[0]#可以直接用数字索引
#ix[n]合并了loc和iloc的功能
df.ix[0]#实实在在访问第0行##访问多行
df.ix[:2]
#访问某一行时直接使用df[0]是错误的多行是可以的
df[:2]
df.value()
##匿名函数
[i 100 for i in range(10)]
def func(x):return x 100
list(map(lambda x:x100,range(10)))
##根据多列生成一个列的操作
df[new_score] df.apply(lambda x:x.数学x.语文axis1)
##panda中的DataFrame的操作很大一部分都是跟numpy中的二维数组的操作是近似的##pandas本身自带绘图
pd.DataFrame(np.random.rand(100,4).cumsum(0),columnsA,B,CD)
df.plot()##柱状图
pd.DataFrame(np.random.rand(10,50,(3,4)).cumsum(0),columnsA,B,CD)
df.plot.bar()
df.plot(kindbar,stackedTrue)
df.B.plot.bar()##直方图
pd.DataFrame(np.random.rand(100,4).cumsum(0),columnsA,B,CD)
df.hist()#画直方图
df.hist(columnA,figsize(10,5))#密度图
df.plot.kde()#画出密度图##3D图形略