# 首先是安装pandas库 # pip install pandas matplotlib 这个是在终端进行操作 import pandas as pd # 引入pandas库,按照惯例起别名pd # 读取数据 df1 = pd.read_csv("E:/Test/BJ_Air.csv.", header = 0) # print(df1) df2 = pd.read_excel('E:/Test/three_China.xlsx', header = 0) # print(df2) # 查看数据 df1.head() df1.tail() df1.sample(5) print(df1.head()) print(df1.tail()) print(df1.sample(5)) # 验证数据 df1.shape # 查看行数和列数 print(df1.shape) df1.info() # 查看索引、数据类型和内存信息 print(df1.info()) df1.describe() print(df1.describe()) df1.dtypes # 查看各字段类型 print(df1.dtypes) df1.axes # 显示行数和列数 print(df1.axes) df1.columns # 列名 print(df1.columns) # 建立索引 df1.set_index('date', inplace = True) print(df1.head()) # 数据选取 df1['Co'] # 查看指定列 print(df1['Co']) # 选择多列 df1[['Co','No2']] # 只看这两列,注意括号 df1.loc[:,['Co','No2']] print(df1[['Co','No2']]) print(df1.loc[:,['Co','No2']]) # 选择行 # 用指定索引选取 df1[df1.index == 'date'] # 引号里需要指定姓名 print(df1[df1.index == 'date']) df1[0:3] # 取前三行 print(df1[0:3]) df1[0:10:2] # 在前十个中每两个取一个 print(df1[0:10:2]) df1.iloc[:10,:] # 前十个 # 指定行和列 同时给定行和列的显示范围: # 条件选择 # 单一条件 df1[df1.No2 > 100] print(df1[df1.No2 > 100]) df1[df1.No2 == '100'] print(df1[df1.No2 == '100']) df1[df1.index == '2014/2/24'] print(df1[df1.index == '2014/2/24']) # 组合条件 df1[(df1['No2'] > 100) & (df1['Co'] > 1) ] # 关系 print(df1[(df1['No2'] > 100) & (df1['Co'] > 1)]) df1[df1['No2'] > 100].loc[df1.Co > 10] print(df1[df1['No2'] > 100].loc[df1.Co > 10]) # 排序 df1.sort_values(by='No2') # 按照No2列数据升序排列 df1.sort_values(by='No2', ascending = False) # 按照降序排列 print(df1.sort_values(by='No2')) print(df1.sort_values(by='No2', ascending = False)) df1.sort_values(['No2','Co'], ascending = [False,True]) # 组合排序 No2降序 Co升序 print(df1.sort_values(['No2','Co'], ascending = [False,True])) # 分组聚类 # df1.groupby('Co').sum() # 按团队分组对应列相加 # df1.groupby('Co').mean() # 按团队分组对应列求平均 # print(df1.groupby('Co').sum()) # print(df1.groupby('Co').mean()) # 不同列不同的计算方式 # sum 求和 count 总数 mean 平均 max 最大值 # df1.groupby('O3').agg({*******}) # 数据转换 df1.groupby('Co').sum().T print(df1.groupby('Co').sum().T) df1.groupby('No2').sum().stack() print(df1.groupby('No2').sum().stack()) df1.groupby('No2').sum().unstack() print(df1.groupby('No2').sum().unstack()) # 增加列 df2['one'] = 1 # 增加一个固定值的列 # 将计算得来的结果赋值给新列 # df2[''] 列与行之间的运算简单的逻辑运算 # 统计分析 ——根据你的数据分析目标,试着使用一下函数, ''' 这里的df没有被定义,如果有需要的话需要定义df的值 df.mean() # 返回所有列的均值 df.mean(1) # 返回所有行的均值 df.corr() # 返回行与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值 df.min() # 返回每一列的最小值 df.median() # 返回每一列对的中位数 df.std() # 返回每一列的标准差 df.var() # 方差 s.mode() # 众数 '''