1. 导入常用包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import datetime

2. 文件读取

data = pd.read_csv('./空气_2010.1.1-2014.12.31.csv')

在这里插入图片描述

3. 查看有哪些列

data.columns

在这里插入图片描述

4. 查看前几行数据

data.head()

在这里插入图片描述

5. 查看数据信息

data.info()

在这里插入图片描述

6. 查看获取指定列的数据

data['pm2.5']  # 查看pm2.5该列的数据

在这里插入图片描述

7. 判断某列是否有None值

data['pm2.5'].isna() # 判断None值 返回布尔类型数据

在这里插入图片描述

8. 查看某列的None值数量

data['pm2.5'].isna().sum() # 查看None的数量

2067

9. 获取指定行的数据

data.iloc[24:] # 从24行到最后一行

10. 填补None值

全有数据向前填充

data.iloc[24:].fillna(method = 'ffill') # 前向填充

指定列的插值填充

data['pm2.5'].interpolate() # 插值

11.用原数据组合添加一列新数据

示例1:

data['tm'] = data.apply(lambda x : datetime.datetime(year = x['year'],
                                        month = x['month'],
                                        day = x['day'],
                                        hour = x['hour']),axis=1)

在这里插入图片描述

12. 删除指定某列的数据

data.drop(columns=['year','month','day','hour','No'],inplace = True)

13. 获取指定行与列

类似切片

data = data.iloc[:,:8]

14. 将某一列设置为新的Index索引值

data = data.set_index('tm')

在这里插入图片描述

15. 查看某列数据的所有值

data.cbwd.unique()

array([‘SE’, ‘cv’, ‘NW’, ‘NE’], dtype=object)

16. 类型转换Numpy

data.iloc[:,1:].to_numpy()

17. agg 聚合操作

类似数据库查询中的groupby查询

先添加新的一列按月将数据划分

data['timeForMonth'] = data.apply(lambda x: str(x['year'])+"-"+'{:02}'.format(int(x['month'])), axis=1)

聚合,对指定的列按月划分求平均值等

dataForMonth = data.groupby('timeForMonth').agg({'pm2.5':'mean','DEWP':'mean','TEMP':'mean','Iws':'mean','Is':'sum','Ir':'sum'})
  • min 最小值 max 最大值
  • sum 求和
  • mean 平均值
  • median 中位数
  • std 标准差
  • var 方差
  • count 计数

18.指定列的数据绘图

data['pm2.5'].plot()

在这里插入图片描述

19. 只要某列的数据

生成新的data

data = data[['pm2.5', 'tm']]

20.统计某列中各个数据的次数

data.列名.value_counts()
data.airline_sentiment.value_counts()

结果示例:
negative 9178
neutral 3099
positive 2363
Name: airline_sentiment, dtype: int64

21.两个数据上下拼接

data = pd.concat([data_a, data_b])

假如data_a的维度为4行6列,data_b为6行6列(列数相同),则data为10行6列

22.随机获取若干行数据

data2 = data.sample(2) # 随机取2条数据
data = data.sample(len(data)) # 乱序用法
Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐