python基础课程7(看代码看注释)--matplotlib作图

4 篇文章 0 订阅
2 篇文章 0 订阅
##人生苦短,我用python
#pandas
##首先讲讲数据格式,csv文件格式,程序之间表格数据之间的转移,如从数据库导入到excel中csv是很合适的转移格式。
#1.纯文本,使用某个字符集,比如ascii,Unicode,EBCDID或者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:x+100,range(10)))
##根据多列生成一个列的操作
df['new_score']= df.apply(lambda x:x.数学+x.语文,axis=1)
##panda中的DataFrame的操作很大一部分都是跟numpy中的二维数组的操作是近似的

##pandas本身自带绘图
pd.DataFrame(np.random.rand(100,4).cumsum(0),columns='A','B','C''D')
df.plot()

##柱状图
pd.DataFrame(np.random.rand(10,50,(3,4)).cumsum(0),columns='A','B','C''D')
df.plot.bar()
df.plot(kind='bar',stacked=True)
df.B.plot.bar()

##直方图
pd.DataFrame(np.random.rand(100,4).cumsum(0),columns='A','B','C''D')
df.hist()#画直方图
df.hist(column='A',figsize=(10,5))

#密度图
df.plot.kde()#画出密度图

##3D图形(略)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值