import pandas as pd import numpy as np s = pd.Series([1, 2, 3, np.nan, 44]) # 创建一个pandas序列 date_s = pd.date_range('20210328', periods=6) # 生成时间索引 df = pd.DataFrame(np.random.randn(6, 4), index=date_s, columns=['a', 'b', 'c', 'd']) # 生成一个有指定行列索引的矩阵 df1 = pd.DataFrame(np.arange(12).reshape((3, 4))) # 若无指定索引则默认为0,1,2,3... df2 = pd.DataFrame( { 'A': 1, 'B': pd.Timestamp('20210329'), 'C': pd.Series([1, 2, 3, 4],dtype='float32'), 'D': np.array([3]*4, dtype='int32'), 'E': pd.Categorical(['test', 'train', 'test', 'train']), 'F': 'foo' } ) # 使用字典数据类型也可生成带索引的矩阵 # Timestamp 时间戳 # Pandas模块的数据结构主要有两种:1.Series 2.DataFrame # Series 是一维数组,基于Numpy的ndarray 结构 print(df2.dtypes) ''' A int64 B datetime64[ns] D int32 E category F object ''' print(df2.index) ''' A int64 B datetime64[ns] D int32 E category F object dtype: object ''' print(df2.columns) ''' RangeIndex(start=0, stop=4, step=1) ''' # 输出df2的各个列的数据类型,行索引类型,列索引类型 print(df2.values) ''' Index(['A', 'B', 'D', 'E', 'F'], dtype='object') [[1 Timestamp('2021-03-29 00:00:00') 3 'test' 'foo'] [1 Timestamp('2021-03-29 00:00:00') 3 'train' 'foo'] [1 Timestamp('2021-03-29 00:00:00') 3 'test' 'foo'] [1 Timestamp('2021-03-29 00:00:00') 3 'train' 'foo']] ''' # 输出df2的所有值 print(df2.describe()) # 计算并返回矩阵中数值形式的和,平均数,最小值,最大值,方差 print(df.T) # 转置 df2.sort_index(axis=1,ascending=False) # 排序,可以通过列或者行的索引顺序进行排序使用axis控制,ascending控制正序还是倒序,True为正 df2.sort_values(by='E', ascending=False) # 排序,通过指定行或者列的索引值,依据指定的行或列的值进行排序