pandas能做什么:
结构化数据分析、数据挖掘。
ipython简介
python命令行与ipython命令行的区别:
显示数据可读性强,特别是对字典
python命令行与ipython命令行的区别:
显示数据可读性强,特别是对字典
1.命令补全,按Tab,
2.shell命令
3.魔术命令
pandas核心数据结构创建
series创建
series是一维带标签的数组,数组里可以放任意的数据(整数,浮点数,字符串,Python Object)
Series数据结构表示一个行或一个列的数据,有一个默认的数据索引
dataFrame
DataFrame是二维带行标签和列标签的数组,可以是Excel表格、SQL数据库的表格、Series对象字典。它是Pandas中最常用的数据结构
创建一个表格:(通过传递带有日期时间索引和带标签的列的numpy数组来创建二维数组)
dates = pd.date_range('20130101', periods=6)#创建一个日期序列,period是里面有几个日期
dates
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))#搞一个六行四列的二维数组,行索引是dates,列索引是list
df
另一个创建表格的方法(通过传递字典对象来创建二维数组)
#另一个创建二维数组的方法,用字典
d={'A': 1., 'B': pd.date_range('20130101', periods=4),'C':[0,1,2,3],'D':pd.array([0,1,2,3])}
df2 = pd.DataFrame(d)
df2
#B是一个时间戳。
查看数据
(1)head查看框架顶部,tail查看框架底部行
data=np.random.randn(6, 4)
data.head()
data.tail()
(2)显示行索引与列索引
df2.columns#查看表格列索引
df2.index#查看表格行索引
3)显示值—numpy数组
df2.values#表格里面的值
4)显示数据整体情况—显示数据的快速统计摘要
df2.describe()#表里数据的分析
5)转置,尺寸
df2.T#转置
df2.T.shape
6)通过列标签来排序
df2.sort_index(axis=0, ascending=0)#axis=1行标签,axis=0列标签。ascending=False降序排,ascending=1升序排,
7)按值排序
df2.sort_values(by='B')#通过某一列的值进行排序
选择数据
1)查看某一列数据
df2['A']#选择某列
2)用标签索引
df2.loc['2':'4']#用行标签索引想要的行,更快
df2.loc[:, ['A', 'B']]#用索引标签索引AB两列
3)通过位置来选择(某行,列)
df2.iloc[3]#位置索引
4)锁定某个特定的值
df2.at[1, 'A']#锁定某个特定值
5)布尔索引
df2[df2['A'] > 0]#布尔索引,A这一列所有大于0的
6)选择大于0的数据
df[df>0]#选取表里面所有大于0的元素,nan都是小于0的被过滤掉了
7)拷贝
df3 = df.copy()#拷贝
df3
8)用isin进行过滤
tag=['one', 'one', 'two', 'three', 'four', 'three']
df3['tag']=tag
df3
df3[df3['tag'].isin(['two', 'four'])]#用isin对上面的表的根据tag列进行过滤
修改
1)修改元素
df.iat[0,3]=100#修改元素,0行3列为100
df
2)修改行/列
df.A=range(6)#修改行/列
df.B=200
df
3)修改多列
df.iloc[:,3:5]=1000#改3-5列数值为1000
df