import pandas as pd
import numpy as np
#1.DataFrame结构类型于数据库结构的数据结果
lst=[[1,2,3],[4,5,6],[7,8,9]]
print(pd.DataFrame(lst,index=list('abc'),columns=list('def')))
dic={"name":"wang","age":15,"addr":"上海"}
print(pd.DataFrame(dic,index=list('a')))
arr=np.arange(1,21).reshape(5,4)
df=pd.DataFrame(arr,index=list("abcde"),columns=list("ABCD"))
print("&"*10)
#2.获取单列数据
print(df.A)
print(df['A'])
#3.获取多列数据
print(df[['A','B','D']])
print("&"*100)
#4.新增一列
df['E']=[5,6,7,8,9]
print(df)
print(df[:2])
#5.获取一行的数据
print(df.ix[['a','d']])#以序列数据输出
print(df.ix['c':'e'])#左闭右闭,获取c d e三行
print(df[1:4])#左闭右开
df.ix['f']=[10,20,30,40,50]#增加一行数据
print(df)
#6.查找单元格的元素
print(df.ix['c','A'])
print(df.ix[['c','e'],['B','A']])
#7.删除行,删除列(返回被删除指定列行后的dataframe)
print(df.drop('a',axis=0))#删除行
print(df.drop('B',axis=1))#删除列
#删除多行,或者删除多列
print(df.drop(['b','c','e'],axis=0))
print(df.drop(['A','D'],axis=1))
#8.查看前后数据
print(df.ix[:3])#查看前三行数据
print(df.head(3))
print(df.tail(3))#尾三行
#9.获取行索引和列索引
print(df.index)
print(df.columns)
print(df.values)
print(df.shape)#输出Dataframe形状
print(df.describe())#数据分布情况
#10 排序和转置
arr=np.arange(1,21).reshape(5,4)
df=pd.DataFrame(arr,index=list("cadbf"),columns=list("LKJH"))
#排序 axis控制行列,ascending控制升序降序
print(df.sort_index(axis=0,ascending=False))
#单列排序
print(df.sort_values(by='K',ascending=False))
print(df.T)#行和列倒置