使用pandas中的DateFrame生成索引。以及对生成索引之后的数据进行排序、数据简单分析等操作
源代码及注释如下:
import pandas as pd
import numpy as np
s=pd.Series([1,3,6,np.nan,44,1]) # Series 是一个一维数组结构的,可以存入任一一种python的数据类型
dates = pd.date_range('20160101',periods=6)
#date_range函数主要用于生成一个固定频率的时间索引,必须指定start、end、periods中的两个参数值,否则报错。
print(dates)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d']) #dates行索引,columns为列索引
# pd.DataFrame(数据,行索引,列索引)
print(df)
df1 = pd.DataFrame(np.arange(12).reshape((3,4))) #会默认生成行和列的序列
# pd.DataFrame(数据) 函数中不添加索引,会默认添加索引
print('********************************************')
print(df1)
df2 = pd.DataFrame({'A':1.,
'B':pd.Timestamp('20130102'),
'C':pd.Series(1,index=list(range(4)),dtype='float32'),
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(["test","train","test","train"]),
'F':'foo'})
# pd.DataFrame(放置一个字典)
# 其中字典的索引会变成数据的列的索引,行的索引自动生成。数据不够的自动用已有的数据补全。行数由字典中最大的数据个数决定
print('********************************************')
print(df2)
print(df2.dtypes) #每一列的数据类型
print(df2.index) #输出所有列的标序
print('********************************************')
print(df2.columns) #输出所有行的标序
print(df2.values) #打印所有的元素
print(df2.describe()) #对数字类型的数据进行分析
print(df2.T) #矩阵转置
print(df2.sort_index(axis=1,ascending=False)) #对数据的行进行倒序排序
print(df2.sort_index(axis=0,ascending=False)) #对数据的列进行倒序排序
# print(df2.sort_index(axis,ascending)) axis控制对行排序还是对列排序,ascending控制是正序(ture)还是倒序(False)
print(df2.sort_values(by='E')) #对指定列进行排序